CollabLand と MintRallyで、Discordにトークンゲートを作成する方法
NFTを発行したら、こんなこと思いませんか。このNFTの保有者だけが入れるコミュニティとか、NFT保有者だけが見れるチャンネルとか作れたらいいなぁ。。
たとえば、NFT付きのプレーリーカードと組み合わせて「2023年に会った人だけ」とか「実際にお店に訪れてくれた人だけ」のチャンネルを作って特典を渡すとか。
いわゆる「トークンゲート」と言われる機能。
はい。これ、NFTの無料発行ツールであるMintRally と Collab.Landと組み合わせると、けっこう簡単に作れるんです!
しかもMintRally特有の「◯ 回参加した人対象」にすることもできるので、よりエンゲージメントを高めた設定も可能です。
ということで、今回はCollab.LandとMintRallyで、Discordにトークンゲートを作る方法をご紹介します。
ゴール - やりたいこと
想定しているゴールはこんな感じ。※ ユーザ側から見た動きです。
MintRallyで特定のNFTを取得したユーザがDiscordにアクセス
Collab.Landのbotをクリック
ウォレットアドレスからNFT保有者であるかどうか判定し、保有していればRoleが付与される
3のRoleがついたユーザだけが見れるチャンネルにアクセス可能となる
0. 準備
それでは、設定の準備をしていきましょう。
まずは、ゲーティングをかけたいNFTの情報をメモしておきましょう。
MintRallyで作成した対象イベントのNFTの詳細ページ「View on OpenSea」をクリックし、Openseaに掲載されている「Traits」の2つの情報「EVENTGROUPID」と「EVENTNAME」をメモしておきます。
つぎに、上記のNFT保有者に付与したいRoleをDiscordの設定で作ります。
Discordの「サーバー設定」>「ロール」>「ロールの作成」で作成します。ここでは、試しに「POM」というロールを作っておきました。
MintRallyの「特定のイベントグループ」の「特定のイベント名」のNFTを持っている人(正確にはウォレットアドレス)がDiscordに入り、Collab.Landのbotをクリックしたら、上記のRoleが自動的に付与されるということです。
それでは、実際に設定していきましょう。
1. Collab.Landの設定
- Collab.LandとDiscordの接続
Discordの「サーバー設定」>「Appディレクトリ」>「Collab.Land」を検索し「サーバーに追加」をクリックします。
外部アプリケーションとの認証のポップアップが表示されるのでOKを押し、次に進みます。Collab.LandとDiscordが接続できると、管理画面にDiscordのサーバーが表示されるはずです。
- Collab.Landにトークンゲートのロールを設定
接続できたDiscordの「TGRs」をクリックし、「+ Select role」をクリック
準備したRoleを選択し、Apply
MintRallyの情報を入力します。
さらに、「Attibutes」をクリックし、「+ Add metadata」で、NFTの詳細情報も入力します。
ポップアップでメタデータの入力画面が表示されるので、メモしておいたEVENTGROUPIDとEVENTNAMEを入力し、Save Traitsをクリック
これで、Collab.Landの設定ができました。
2. Discordの設定
つぎに、重要だけど見逃しがちな、Roleの順序を確認しておきます。
Discordの「サーバー設定」>「ロール」にいき、Collab.Landというロールの下に追加したRoleがあるかどうか確認しておきます。
※Collab.LandというロールはDiscordと接続したときに、自動で作られます。
この上下の順序が逆の場合、Collab.Landのbotが機能しないので、かならず確認しておきましょう。
3. テスト
これで必要な設定ができました。最後にテストです!
Collab.Land と Discordの接続をした際に、自動的に「collabland-join」というチャンネルができているはずです。
そのチャンネルで「Let's go!」をクリックしてみましょう。
設定したNFTを保有しているウォレットアドレスかどうかを確認し、Use Connected Wallets をクリック
対象のNFTを保有しているアドレスだったので、ちゃんと設定しておいたRole「POM」がつきました!!!
アカウント名をクリックして、プロフィールを開くと、こちらにもRoleとして表示されていることが確認できました。
これでトークンゲートの設定が完了です!
あとは、このRoleのみが入れるDiscordのチャンネル作成しておけばOKです。チャンネル設定> プライベートを有効設定 > 追加したRole のみアクセスできるように設定します。
おまけ: 複数回イベントに参加した人のみにRoleをつけたい場合
最後に、MintRally独自の設定をご説明します。MintRallyでは、イベントの参加回数に応じて、取得してもらうNFTを出し分けすることができます。
(詳しくはMintRallyの設定ページをご覧ください。)
たとえば、MintRallyでイベントグループのうち、6回イベントに参加した人にだけ特別なNFTを配布するよう設定した場合、OpenSeaではこのようにLevelsという情報がそのNFTに付加されます。
この情報を、Collab.LandのAttributesのMetadataの設定で追加しておけば、「あるイベントグループ」に「6回参加した人」だけにRoleを追加する、ということができます。
▼ 以下のようにRequiredParticipateCount で値を入力します
コアに活動してくれているコントリビューターにだけ特典を渡すなど、さらにエンゲージメントを高めることもできるというわけです!
さて、今回はCollab.Land と MintRallyを使ったトークンゲートについてご説明しました。意外と簡単だなぁと思ったのではないでしょうか?
ぜひ活用してみてくださいね〜!!