コラム

ホルダー限定ルームの作り方!【NFT×Discord】

今回は、ホルダー限定ルームの作り方を紹介します。

簡単に作れるので、ぜひ挑戦してみてくださいね!

Collab.Landについて

Collab.Land』は、ホルダーかどうかを判別してくれるツールになります。

なので、このツールを使うことで、特定のNFTを持っている人しか入れない部屋を作ることが出来ます。

公式ホームページは、こちらになります。

https://collab.land/

DiscordとTelegramで使うことが出来ます。

よくDiscordの設定を聞かれるので、今回はDiscordに絞って説明していきたいと思います。

DiscordにCollab.Landを導入

さっそくDiscordにCollab.Landを導入していきたいと思います。

まずは、公式ホームページに飛んでください。

START BUILDING』をクリックします。

Discord Bot Walkthrough』をクリックします。

すると上記の画面に切り替わると思います。

Click here』のボタンを押すことで、DiscordとCollab.Landを連携させることが出来ます。

なお、下記のリンクをクリックすれば、連携画面に飛ぶことが出来ます。

https://discord.com/oauth2/authorize?client_id=704521096837464076&scope=bot&permissions=8

クリックするとこの画面に切り替わります。

Collab.Landを導入したいサーバーを選択し、『はい』をクリックします。

するとこの画面に切り替わるので、あとは『承認』ボタンを押して、導入完了です!

自分のサーバーに入ると、『Collab.Land』が導入されていることが分かります。

ホルダー限定ルームの設定

CollabLandの設定の前に、まずは、限定ルームの設定を行って行きます。

特別なロールを与えられた人のみ入れるようにすることで、限定ルームを作る形になります。

なので、まずは特別なロールを作りましょう!

特別なロールの設定

左上の自分のチャンネル名をクリックします。

そして、『サーバー設定』をクリックします。

次に、『ロール』をクリックすると、上記の画面になります。

ロールを作成』を押して、新しいロールを作って行きます。

今回私は、『NFTホルダー』という名前のロールを作りました。

その後、ロールの管理画面に戻ってください。

ここで大事なのが並び順です!

Collab.landのボットが先ほど作ったロール(ここではNFTホルダー)を自動的に付与できるようにする必要があるため、必ずCollab.landが上に来るようにしてください

これでロールの準備はOKです!

次に限定ルームを作っていきましょう!

限定ルーム

また、左上の自分のチャンネル名をクリックします。

その後、『チャンネルを作成』をクリックしてください。

すると、この画面に切り替わります。

私は、チャンネル名を『ホルダールーム』としました。

ここで大事なのが、『プライベートチャンネル』にチェックを入れることです。

最後にこのプライベートチャンネルに入れるメンバーやロールを設定していきます。

先ほど作った特別なロール(今回は、NFTホルダー)に必ずチェックを入れましょう!

チャンネルを作成』を押すと、これで限定ルームの作成が完了です

ホルダールームが作成されていて、その左側の#に鍵がついていることがわかるかと思います。

では、最後にNFTの情報をメモしていきましょう!ここでメモしておかないと後で悲しいことになります!

NFTの情報について

今回は、この「EggDragon #006」で説明します。

この子は、OpenSeaの機能で製作された子になります(共用コントラクトの作品です)

OpenSeaで対象にしたいNFTを開けてください。

このNFTの『Details』をクリックしてください。

すると、赤枠が表示されるかと思います。

この画面の情報が後で必要になってくるので、開けた状態にしておきましょう!

ここでメモを作ってください。メモしていくのは次の5つです

  • Contract Address:0x2953399124f0cbb46d2cbacd8a89cf0599974963
  • 限定チャンネルに入るのに必要な最小の枚数:1
  • 限定チャンネルに入るのに必要な最大の枚数:-1
  • 今回設定したいロール:@NFTホルダー
  • TokenID(オプション):59250966137237229957190417055784293918795247025868042703861325595845934973028

※3の最大の枚数について

一定数以上の枚数を持っている人が入れないようにする機能です。例えば、枚数毎にチャンネルを区切りたいときに使用します。

最大枚数を決めない場合、『-1』と設定します。

※5のTokenIDについて

こちらは独自コントラクトであれば、うまいこと出来たのですが共用コントラクトでは設定がうまいこと行きませんでした。

Collab.Landの設定

次に『Collab.Land』の設定を行って行きます。

左上の『collabland-config』のボタンを押すと上記のような画面に切り替わります。

この画面で『!setup』と入力しましょう!

次に、『!setup role』と入力します。

ネットワークを選ぶ画面が表示されます。先ほどのNFTの画面を参考に選びます。

イーサリアム(Ethereum)は、『1』のMainnetを選択します。

私のNFTの場合、BlockChainがPolygonとなっていたので、『』を押します。

次にNFTがどの規格で製作されたものかを選びます。

私のNFTの場合、Token StandardがERC-1155となっていたので、『ERC-1155の左側に書いてある記号と同じもの』を押します。

最後に、NFTのメンバーシップの条件を絞り込みます。

ここでは、先ほどメモした内容を元に文章をつなげて記入します。

今回のケースだと、『contract address+半角スペース+限定チャンネルに入るのに必要な最小の枚数+半角スペース+限定チャンネルに入るのに必要な最大の枚数+半角スペース+tokenID+半角スペース+ロール』になります。

なので、私の今回の場合だと、『0x2953399124f0cbb46d2cbacd8a89cf0599974963 1 -1 59250966137237229957190417055784293918795247025868042703861325595845934973028 @NFTホルダー』を入力します。

前段の選択肢によってここの記述が変わるので、ボットのコメントを良く見て記入してくださいね。

例えば、イーサリアム(メインネット)のERC721のNFTを対象とした場合は、下図のようなコメントがボットから帰ってきます。

今回のケースだと、『contract address+半角スペース+限定チャンネルに入るのに必要な最小の枚数+半角スペース+限定チャンネルに入るのに必要な最大の枚数+半角スペース+ロール(+半角スペース+tokenID)』になります。

()内はオプションですね~

成功するとこのようなコメントが帰ってきます!

これで特定のNFTを持っているホルダー限定ルームが作成できました!

ホルダーさんにホルダー限定ルームに入ってもらうには・・・

最後に、ホルダーさんにホルダー限定ルームに入ってもらう方法を記載しますね。

まずは、左上の『collabland-join』を押してもらいます

次にボットのコメント内の『Let's go!』を押してもらいます

するとボットがコメントを自動で返すので、『Connect Wallet』を押してもらいます

すると、Wallet接続画面に切り替わるので、Walletの接続を行ってもらいます。

Sign Message』を押すと、Walletが起動し、「Signしますか?」っと訪ねてくるので、Signします。

接続が成功するとこの画面に切り替わります。

Discordに戻ると、この画面が表示されています。

これで、ホルダー限定のロールが付与されて、結果としてホルダー限定ルームに入ることが出来るようになりました!!

なお、左側にある自分のアイコンをクリックすると、与えられているロールを確認することが出来ます。

その他

Collab.Landの注意点は、

  • 最大で24個のロール設定が出来ます
  • 定期的にメンバーのトークン保持を監視していて、メンバー条件から外れた場合ロールが取り上げられます
  • 使える機能が無くなったり増えたりする。

コミュニティのメンバー内で、ガス料金なしでお互いにチップを送信できたり、AirDropをすることが出来たりしていました。

Welcome Messageの設定なんかも出来た気がしたのですが、今見た限りでは消えてました・・・。

-コラム