【discord】複雑な条件でロールを付与(落胆と光明編)【Collab.Land】
やりたいこと
あるNFTを持っているとdiscordで特別なロールが付与されるようにしたい。
ただし、単純にこれを何枚持っているとではなく、
NFTの属性を指定して複数条件を満たした場合に付与されるようにしたい。
結論:↓の方法ではできません
ここでできるのは、ロールの組み合わせで新たなロールを付与する、ということ。
使う機能
Collab.LandのRole Composition機能でできる?
できるかできないのか調査しつつ進めていく。
インストール
ロール選択
対象のロールを選択する。
条件を設定する
Conditionに、必要となるロールを追加していく。
「AND」であれば全て必要
「OR」であればいずれかがあれば成立する。
Saveしてしばらくすると反映される。はず
今回求めてた機能はこれじゃないんよ。。。
組み合わせればできるかも
と、諦めかけていたが、
CollabLandの条件設定でmetadata設定があって、ここで属性が指定できるようだ。
これとRole Compositionの組み合わせでどうにかできるかもしれない
以上
CollabLand設定の復習
だいぶ間隔があきました。
最近はdiscordbotの制作に取り組んでいます。
今回は、所持しているNFTによってdiscordのロールを自動的に割り当ててくれるツール「CollabLand」の設定方法について復習してみます。
■discordにCollabLand導入
CollabLand公式サイト
詳細は省きますが対象のdiscordサーバにCollabLandのbotをインストールします。
■権限を上位に移動
サーバの設定の「ロール」にて、「Collabland」のロールを最上位に移動する。
管理者権限が必要になります。
■設定画面に移動
Collabland-configチャンネル
Command Centerを選択
■設定の追加
ERC-721、ERC-1155どちらも同じ手順で設定可能。
メニューからTGRsを選択する。
設定したいdiscordのロールを選択する。
OpenseaでコレクションのURLから、コレクション名をコピーする。
設定情報を入力する。
- Discription・・・設定の名称
- ChainType・・・ブロックチェーンの種類を選択。今回は「MainNet」を選択する
- TokenType・・・OpenSeaを選択する。
- Collenction Name・・・さきほどコピーしたコレクション名を入力する。
- Min Amount・・・NFTの最低所持数を入力する。画像の場合、1枚以上あればロールを取得できる。
■ロールを取得
discordサーバの「collabland-join」チャンネルでbotの「Let’s go!」ボタンをタップする。
初めて設定する場合、所持するNFTが入っているウォレットアドレスを追加する。「Add a New Wallet」から設定する。
二回目以降の場合、登録したウォレットが表示されるので、このままでよければ「Use Connected Wallets」を選択する。
設定に成功すると、取得したロールの一覧が表示される。
あとは取得したロールで目的の操作を行う。
■あとがき
複数ウォレットでも認証できるようになっているし、
英語表記で分かりにくい点もあるが、流れさえわかればなんとかなるはず。
以上
■前回CollabLand設定した際の記事
【NFT】HeyMint体験記【AllowList管理】
なりゆきでNFTのAllowListを管理することになり、
PREMINTなど優良な有料ツールを使えれば良かったのだが、
予算の都合などあり、無料のHeyMintを使うことになった。
使い方などメモしていく感じでこの記事は書いていく。
まずはサイトにアクセス。
何らかのアカウントと連携してログインする。
次にアンケートっぽいのに適当に答えると、DashBoard的な画面が表示される。
「Create new allowlist」をクリック。
必要な情報を入力していく。
入力欄が大量にある。
必要そうなところのみ入力していく。
ミント日
価格
AL配布枚数を入力してSave
状態をActiveにすると、「view public page」から申請ページが表示される。
申請ページはPREMINTで見るのとそんなに変わらない。
- Wallet
を連携して「Register」ボタンで申請完了?
管理画面側で見ると、エントリー状況が分かる。
「Status」を変更できる。
Winnerにすれば当選ということか?
- Pending・・・未確定
- Disqualified・・・失格
- Winner・・・当選
- Waitlist・・・不明。補欠当選みたいな感じ?
抽選状況のファイル出力
ExportボタンでCSVファイルに抽選状況が出力される。
抽選機能
当選数を入力して「Raffle」ボタンを押すと抽選が実行されて、
当選者の状態がWinnerに変更されるのを確認。
どのタイミングで当選の通知が申請者に届くのか?
twitterかメール?その辺が不明なので継続して調査予定。
【Google Form】自動で受付終了にしたい
GoogleFormを使う機会が多い。
入力内容をSpreadSheetにリスト化してくれるので重宝するのだが、
受付終了を自動化できず、手動で終わらせていたのが不便と感じていた。
メニューとか探しても期間指定無いしどうせできないんでしょ?と
ググってみたら、ありました。
スクリプトエディタを起動する
縦・・・ボタンを押して「スクリプトエディタ」をクリックする。
コード記述
「コード.gs」タブで表示される入力欄に↓を入力する。
-----
function closeForm() {
const form = FormApp.getActiveForm();
form.setAcceptingResponses(false);
}
-----
スクリプトの実行許可(と動作テスト)
実行ボタンクリック
権限を確認をクリック
アカウント選択
アカウントへの許可。「許可」ボタンクリック
実行確認
↑回答の受付が終わっている(実行されてしまうので注意)ことを確認。
受付中であれば、受付中に戻す。
タイマー設定
時計マークからトリガーを追加する。
実行するスクリプトを選択
イベントソースを時間手動型に。
トリガータイプを特定の日時に。
フォーム受付終了する日時を入力して保存。
一覧に追加されたことを確認。↑ あとは指定日時に実行されることを確認する。
スクリプトに慣れれば色々なことができそう!
今回は以上。
manifoldでNFTをburnしてみる
前回、manifoldでFTの発行を試した。
この記事でやりたいこと
今回はmanifoldの Burn Redeem 機能を使って、
NFTをburn(焼却)して別のNFTをゲットする機能を試す。
アプリを有効にする
↑入っていなければInstallする。Openで開く。
新規のBurn機能を開始
Burnして得られるNFT情報をアップする
設定したら「Next」ボタンをクリック
Burnするコレクションを選択
burn対象になるコレクションを選択・・・前回作ったコレクションが表示されない。
メインネットでデプロイしないと出てこないのかな??
一旦ここまで
manifoldでNFTを発行してみる
もはや大波が過ぎ去った印象のmanifoldだが、
触っておいて損はあるまいということでNFTの発行を試す。
manifoldとは
独自コントラクトを作成してNFTをミントできるwebツール。
Thridwebよりも手軽に発行できるのが魅力とのこと。
公式サイトは↓
ウォレットを接続する。
Burn(焼却)
NFTまだ作ってもいないが、ウォレットを接続するとBurnによって別のNFTに変化させるような機能がある。これがBurn Redeemという機能。
ERC1155でのみ有効な機能っぽい。
多彩な機能
burn redeemも一つのアプリであり、これを有効にするとアプリの一覧が表示される。
かなり多機能なようだ。
twitterやvoicyで紹介されているのは通常のミントとburnぐらいで、他にももしかしたら使える機能があるかも。
コントラクト作成へ
まずは通常のNFTを作成してみる。
「New contract」ボタンクリックで必要事項入力へ↓
ASCIIMARKが意味不明なのだが、コレクションを表すアスキーアートを設定できる。
テストネットでデプロイ
Goerliテストネットからデプロイしてみる。
ガス代を支払って1,2分ほど待つとデプロイ完了。
テストネットでミント
↓のボタンからミントへ。次に画像を指定する。
SingleTokenを選択する。
コンテンツアップロード
OpenSeaでNFTを作成する時と同様に、画像のアップロードや名称、説明を記述する。
- ARTWORK TITLE・・・タイトル
- EXTERNAL URL・・・URL(任意)
- Description・・・説明
テストネットでミント実行
今回は自分でミントするので「MySelf」を選択。
誰かに送る場合はAirdropを選択。
ミントしたい数だけ入力してMintへ
ミント結果の確認
↑のリンクからOpensea上でミントされたことを確認できる。
この場合はテストネット上でミントしているだけなので注意
感想
一点ものではなくて、FTとしての扱いになる。
メインネット(イーサ)で発行したい場合は、チェーンを切り替えるだけ。
ここまでならそこまでThirdwebと変わらない印象。
次の記事では引き続いてBurnまで試してみる。
【bitbank】出金してみる【暗号通貨→円→銀行口座】
国内の暗号通貨取引所はいくつかあり、現在はbitbankに落ち着いている。
以前は積立していたが、最近は日本円を入金することはなくbitbankにアクセスする機会も少ない。
これまでは入金するだけで、いざ出金したいという時に迷いたくないので、
出金の流れを確認しておく。
出金先の口座登録
出金先の口座を登録しておく。
ウォレットからbitbankに送金
送金先のウォレットアドレスを取得する。
MetaMaskから↑のアドレスに出金したい額を送金する。
bitbankに反映されるまで時間がかかる模様。
今回はMetaMask上で反映されてから約10分後に反映された。
売却(eth→円)
ethから直接銀行口座には出金できないので、取引所でethを売却して円に換金する必要がある。
取引所でethを売却して円に換金する。
出金
出金の承認
登録したメールに承認依頼が届くので、メールを確認して承認の操作を行うと、出金操作の状態が「審査中」に更新される。
この後審査が通れば口座に送金される。
感想
出金の操作を試してみて、当然ながらethを直接口座に送金することができず、
一旦売却する手続きが必要なことを実体験した。
相場を見ないといけない手間があるので、急な出金はしようとしない方が得策と思われる。出金する時は相場を見る余裕がある時にやりましょう。
以上