💬

【Carl-bot】既存のリアクションロール機能に新規のロールと説明をコマンドで追加する方法

2023/01/23に公開

概要

DiscordのサーバーにCarl-botを用いたロール自動付与機能を導入しました。

付与したいロールが増えたので、とりあえずググって「+ Create new reaction role」ボタンのEditをクリックしてロールの追加を...と思ったのですがクリックしても編集画面が出てこない状態に突然陥ってしまいました...(下画像の画面)

この記事では、以下の2点の方法について記します

  1. 既存リアクションロール機能に新規のロールを渡せるように設定する
  2. 既存リアクションロール機能の埋め込み説明文を編集する
    image.png

目標

これを
image.png
こうする
image.png

手順1

image.png
ターゲットのリアクションロール機能を用意します。
追加するロールは、必ず事前に作成し、権限設定を済ませましょう。

1️⃣の絵文字に「ロールA」ロールが紐づけられている状態です。
ここに、:two:「ロールB」のペアを紐づけます。

1. /reactionrole showコマンドを実行

チャットに/reactionrole showを打ち込みTabキー
現在サーバーで稼働しているリアクションロール機能の一意のIDが返されます。
image.png

2. /reactionrole addコマンドを実行

チャットに/reactionrole addを打ち込み実行。

  • message_id部に、「手順1.で確認した対象のID」を
  • emoji部に、設定したい絵文字を
  • roleに、事前に作成しておいた追加したいロール
    を指定し、実行。
    image.png

対象のリアクションロール機能に:two: ロールBを追加することができました。
image.png
:two:のリアクションをクリックして、自分にロールBのロールが付与されたことを確認しましょう。
image.png

手順2

先ほどのリアクションロール機能の、メッセージ埋め込み部の内容を編集します。
ここです👇
image.png

1. embedsourceコマンドで埋め込みのコンテンツとレイアウトをjsonで取得

チャットに !embedsource [対象のメッセージID] を入力し実行。
jsonが出力されます。コピーして控えておきましょう。
image.png

2. Carl-botダッシュボードで埋め込みコンテンツを編集する

jsonの読み込み

Carl-botのサーバー管理画面を開き、左のメニュー->Embedsへ移動。
image.png
1.でコピーしたjsonを、右上のPreviewウィンドウのRaw JSONに張り付け、Applyをクリック。
image.png

先ほどの埋め込みコンテンツの内容がエディターに反映されます。
image.png

埋め込みコンテンツの編集

エディターでコンテンツを編集します。今回はこのように編集しました。
image.png
PreviewウィンドウのCopy to clipboardをクリックし、jsonをコピー。
image.png

3. Discordでメッセージにjsonを適用

チャットに!ecembed [対象のメッセージID] [メッセージが投稿されているチャンネル] [2.で作成したjson] を記入し実行。
image.png
Edited message!が表示され、対象のリアクションロール機能が編集されました。
image.png
image.png

おわりに

以上が、Carl-botのリアクションロール機能がDashboardで編集できなくなったときのコマンドでの対処法です。
かなり困っていたのですが、対処法を見つけられてよかったと感じています。
お役に立てば幸いです。

参考サイト

Reaction Roles

https://docs.carl.gg/roles/reaction-roles/

埋め込みの編集

https://docs.carl.gg/utilities/embeds/#embed-commands:~:text=mm-ddTHH%3AMM%3ASS.000Z-,埋め込みの編集,-埋め込み

Discussion