【Carl-bot】既存のリアクションロール機能に新規のロールと説明をコマンドで追加する方法
概要
DiscordのサーバーにCarl-botを用いたロール自動付与機能を導入しました。
付与したいロールが増えたので、とりあえずググって「+ Create new reaction role」ボタンのEditをクリックしてロールの追加を...と思ったのですがクリックしても編集画面が出てこない状態に突然陥ってしまいました...(下画像の画面)
この記事では、以下の2点の方法について記します
- 既存リアクションロール機能に新規のロールを渡せるように設定する
- 既存リアクションロール機能の埋め込み説明文を編集する
目標
これを
こうする
手順1
ターゲットのリアクションロール機能を用意します。
追加するロールは、必ず事前に作成し、権限設定を済ませましょう。
1️⃣の絵文字に「ロールA」ロールが紐づけられている状態です。
ここに、:two:「ロールB」のペアを紐づけます。
1. /reactionrole showコマンドを実行
チャットに/reactionrole show
を打ち込みTabキー
現在サーバーで稼働しているリアクションロール機能の一意のIDが返されます。
2. /reactionrole addコマンドを実行
チャットに/reactionrole add
を打ち込み実行。
- message_id部に、「手順1.で確認した対象のID」を
- emoji部に、設定したい絵文字を
- roleに、事前に作成しておいた追加したいロール
を指定し、実行。
対象のリアクションロール機能に:two: ロールBを追加することができました。
:two:のリアクションをクリックして、自分にロールBのロールが付与されたことを確認しましょう。
手順2
先ほどのリアクションロール機能の、メッセージ埋め込み部の内容を編集します。
ここです👇
1. embedsourceコマンドで埋め込みのコンテンツとレイアウトをjsonで取得
チャットに !embedsource [対象のメッセージID]
を入力し実行。
jsonが出力されます。コピーして控えておきましょう。
2. Carl-botダッシュボードで埋め込みコンテンツを編集する
jsonの読み込み
Carl-botのサーバー管理画面を開き、左のメニュー->Embedsへ移動。
1.でコピーしたjsonを、右上のPreviewウィンドウのRaw JSON
に張り付け、Applyをクリック。
先ほどの埋め込みコンテンツの内容がエディターに反映されます。
埋め込みコンテンツの編集
エディターでコンテンツを編集します。今回はこのように編集しました。
PreviewウィンドウのCopy to clipboard
をクリックし、jsonをコピー。
3. Discordでメッセージにjsonを適用
チャットに!ecembed [対象のメッセージID] [メッセージが投稿されているチャンネル] [2.で作成したjson]
を記入し実行。
Edited message!
が表示され、対象のリアクションロール機能が編集されました。
おわりに
以上が、Carl-botのリアクションロール機能がDashboardで編集できなくなったときのコマンドでの対処法です。
かなり困っていたのですが、対処法を見つけられてよかったと感じています。
お役に立てば幸いです。
参考サイト
Reaction Roles
埋め込みの編集
Discussion