【Discord】ロールパネル・ロール保持ボット「Role Keeper」の手引き
見出し画像

【Discord】ロールパネル・ロール保持ボット「Role Keeper」の手引き

Bard【Discord Bot制作グループ】

最終更新日: 2022/04/25
🎉大型アップデートを行いました!

はじめに

Role Keeper を導入するためだけにこの記事を見たんだ!という方はこちらから RoleKeeper を招待いただけます。

Role Keeperって?

Role Keeper は、ディスコードで使えるロール(役職)管理ボットです。

Role Keeper では現在、以下の機能・コマンドがご利用いただけます。

  • ロール保持

  • ロールパネル(リアクション・ボタン)

  • サーバー参加時ロール

  • メッセージロール

  • ロール管理コマンド

また、ロールパネルはアクションパネルとして、ダッシュボードでも設定できます。

次に、これらの機能を詳細にご紹介していきます!

ロール保持

メンバーがサーバーから退出し、再入室したときに以前所持していたロールを全て付与する機能です。

サーバーの入退室でロールが外れないようにしたい、Mutedロールを再付与したいといったようなときに使えます。

また、自動付与してほしくないロールがある場合にはそれらをコマンドで設定できます。

ロールは最長で1年間保持され、その後データは削除されます。(サブスクリプションで1年以上に変更可)

ロールパネル(ボタン)

ボタンによるロールパネルを作成する機能です。
ボタンを押すと設定したロールが付与され、もう一度押すことでロールが剥奪されます。

従来のリアクションを用いたロールパネルに比べ、自分にしか見えないお知らせメッセージが送信されるためわかりやすく便利です。

ロールパネルと自分だけに表示されるメッセージ

ロールパネル(リアクション)

ボタンのロールパネル以外に、リアクションでのロールパネルにも対応しています。

サーバー参加時ロール

ユーザーがサーバーに入ってきたときにロールを付与する機能です。複数の役職を設定できます。

入室して一定時間後にロールを付与/剥奪する機能や、特定のユーザー/ボットに付与する機能もあります。

メッセージロール

誰かが特定のチャンネルにメッセージを送信したときにロールを付与します。

メッセージ内容を任意で設定することもでき、前方一致、後方一致、部分一致、全文一致に対応しています。

コマンド

RoleKeeper ではロール管理コマンドも提供しています。

現在のロール管理コマンドは以下のとおりです。

  • ユーザーメンションで指定したユーザー全員を、役職メンションで指定したロールだけにする機能(konlyコマンド)

他にも便利なロール管理機能を追加していく予定です。

Role Keeperの利用ガイド

Role Keeper の使い方を紹介します。
2~6 は ロール保持機能を使用したい方向けです。

🔰 この記事ではスラッシュコマンドを扱います。スラッシュコマンドがわからない/使えない場合はこちら

1. Role Keeper の招待

  1. ここ にアクセスします。

  2. 招待したいサーバーを選択します。サーバーの管理権限が必要です。

  3. 「認証」ボタンを押します。

2. 初期設定

ロール保持機能を使用したい場合には、Role Keeper のロールを自動付与したいロールより上に移動させます。移動後、保存を忘れないでください。

Role Keeper より下のロールのみが自動付与されます。

初期設定はこれだけです!

3. 無視するロールの設定

Role Keeper では、無視するロールの設定ができます。

「Role Keeper のロールより下にあるけど、このロールは自動付与させたくない…」というときにお使いいただけます。

無視するロールは以下のスラッシュコマンドで設定できます!

無視するロールを追加するときは…
/setting ignore add
無視するロールを削除するときは…
/setting ignore remove

1つのロールを自動付与の対象にしたい場合など、無視するロールの追加が多くなってしまう場合には、逆に対象にしたいロールのみを追加できます。

以下のコマンドを送信することで、設定できます!

① 自動付与対象にしたいロールを追加する
/setting ignore add
② 無視するロールリストをホワイトリスト化する(True)
/setting whitelist

4. ロールの保持期間の設定

Role Keeper は最長で1年間ロールを保持し、その後削除します。

保持期間を1年以下に設定したい場合は、以下のコマンドを送信することで設定できます。(日、時、分、単位で変更可)

ロールの保持期間を変更したいときは…
/setting ttl

🐣 有料プランに登録することで、ロールの保持期間が無制限になります。
詳しくはこの記事最後の「サブスクリプションについて」をご覧ください。

5. 付与対象ロールを確認する方法

自動付与対象のロールを確認したい場合には、以下のコマンドを使用してください。一部、YouTubeメンバーシップ連携ロールなど、付与されない場合があります。

自動付与予定ロールを確認したいときは…
/doctor

6. 保持されているロールの初期化方法

何らかの理由で、保持されているロールを初期化(削除)したい場合にはこのコマンドを使用してください。

Role Keeper の設定を初期化するコマンドではないので、注意してください。

保持されているロールを初期化したいときは…
/setting purge

Role Keeperの使い方

  • ロールパネルの作成

  • サーバー参加時ロールの設定

  • メッセージロールの設定

それぞれ分けて説明していきます。

ロールパネルの作成

💪 アクションパネルの作成に必要な権限
Webhookの管理権限

このチュートリアルでは、以下のパネルを作っていきます。
アクションパネルはロールパネルだけでなく、Embed メーカーとしても機能するので、ロールパネル以外の機能も紹介します。

🔰 Role Keeper では、ダッシュボードからロールパネルを作成できます。

まず、ここから Discord にログインしてダッシュボードを利用したいサーバーを選びましょう。

「Action Panels」から、「新規作成」を押すことでアクションパネルを作成できます。パネルは好きな名前に設定できます。これはロールパネルに直接関係ないですが、わかりやすい名前をつけておくと後から便利です!

「基本情報」で好きなユーザー名とアバターのURLを入力しましょう。これは後でパネルを送信する Webhook のユーザー名とアバターになります。

次に、「メッセージ設定」でパネルのメッセージを設定しましょう。

Embed の「追加」を押して、Embed を追加しましょう。最初の画像のようにするには次のように入力します。

Embed は他にも設定できる項目はあるので、いろいろ設定して遊んでみてください!

次に、「ボタン設定」でボタン・セレクトボックスの設定を行いましょう。

1行目!

最初の画像のようにするには、上のように一行目は設定します。

「ボタンのID」は内部的なもので、パネルには表示されませんが、アクション設定と結びつけるために使います。わかりやすいように変更することをおすすめしますが、ここでは変更しません。

2行目、3行目も以下のように設定します。「リンクボタン」はクリックすると特定のサイトに飛ぶことのできるボタンです。

2行目!
3行目!

これでボタンの設定が完了しました。これで送信しても、アクションを設定していないので次のようなエラーが発生します。

次に、「アクション設定」で肝心のアクションを設定していきます!

「新規アクション追加」から、アクションを追加してボタンのIDを選び、そのボタンが押されたときに起動させたいアクションを追加します。

最初の画像のようにするには、まず以下のように設定しましょう。

デフォルトでは非表示メッセージが送信されるようになっています。(変更・削除可)また、以下の変数を使うことができます。

🔰メッセージで使える変数まとめ
ボタンを押したユーザー名: $USERNAME$ もしくは $USER
ボタンを押したユーザーメンション: $USERMENTION$
ボタンを押したユーザーID: $USERID$

ここでは button-71 と button-49 は特に編集する必要はありません。

button-54 は押されたときにロールを付与したいので、設定を編集する必要があります。「編集」を押し、「新規追加」から「ロールを付与・剥奪する」を選びましょう。他にも以下のようなアクションを選ぶことができます!

今回はロールをトグル(役職を持っている場合には剥奪、持っていない場合には付与)したいので、「トグルするロールを編集」を押して適当なロールを選びましょう。

これで右上の「終了」を押して設定は終わりです。

最後に、設定したアクションパネルを送信しましょう。「送信設定」から送信先追加、「チャンネルから選択する」でチャンネルを選びます。

🔰 Role Keeper のウェブフックの管理権限をオンにしましょう!

これで「送信」を押します。正しく送信されると、右上にメッセージが表示されます。

指定したチャンネルに正しくメッセージが送信されていて、ボタンを押したときに設定したレスポンスが返ってくれば設定は終了です。お疲れ様でした!

不明な点があれば、この記事の最後の「よくある質問」で確認もしくは、サポートサーバー でご質問ください。

サーバー参加時ロールの設定

💪 サーバー参加時ロールの設定に必要な権限
ロールの管理権限

サーバー参加時ロールは、スラッシュコマンドで設定ができます。

サーバー参加時ロールを設定するときは…(複数可)
/setting new_user_role add
サーバー参加時ロールの設定をやめるときは…(複数可)
/setting new_user_role remove

オプションの説明
<role> → ロールを指定
<type> → 「全ての新規ユーザー」「前に参加したことがある新規ユーザー」「一度も参加したことがないユーザー」「Botのみ」を選択
<delay_minutes> 等 → 遅延時間
<delay_remove_minutes> 等 → 剥奪遅延時間

「メンバーが参加してから○秒後に役職を付与したい…」というときにはオプションでロール付与を遅延させることもできます。

サーバー参加時ロールを遅延させる
/setting new_user_role add の <delay_minutes>、<delay_remove_hours>、<delay_remove_days> で遅延時間設定可(31日23時間40分まで)

逆に、「メンバーが参加してから○秒後に役職を剥奪したい…」というときには以下のオプションでロール剥奪をさせることができます。

サーバー参加後一定時間でロールを剥奪する
/setting new_user_role add の <delay_remove_minutes>、<delay_remove_hours>、<delay_remove_days> で遅延時間設定可(31日23時間40分まで)

サーバーでメンバースクリーニングが設定されている場合、メンバースクリーニング後にロールを付与するか設定できます。

メンバースクリーニング後にロールを付与するか(True)
/setting after_screening

メッセージロールの設定

💪 メッセージロールの設定に必要な権限
ロールの管理権限

メッセージロールは、メッセージが送信されたときにロールを付与する機能です。

メッセージロールはスラッシュコマンドで設定できます。スラッシュコマンドを送信したチャンネルでのみ動作します。

メッセージロールを設定するときは…
/setting message_role add
メッセージロールを解除するときは…
/setting message_role remove

オプションの説明
<role> → 付与するロール
<content> → このメッセージが送信されたらロールを付与する
<type> → メッセージがどう一致したら付与するか「完全一致」「前方一致」「後方一致」「部分一致」から選択可
<edit_type> → ロールを付与するか、剥奪するか、トグルするか
<response_type> → ロールを操作したあと、ボットがどう応答するか「何も送信しない」「リアクションをつける」「メッセージを送信する」を選択可

よくある質問と追加予定の機能

よくある質問

Q. 招待後、設定は必要ないですか。
A. ロールの保持機能をご利用いただくためには、ロールの順序を変更する必要があります。Role Keeper のロールを、自動付与の対象にしたいロールより上にしてください。

Q. 「インタラクションに失敗しました」と表示されます。
A. 何度か試しても失敗する場合は、サポートサーバーからお問い合わせください。

Q. 「問題が発生したため作成できませんでした。時間を空けて再度お試しください。」と表示されます。
A. 何度か試しても失敗する場合は、一度ログアウト→ログインをお試しください。それでも解決しない場合には、サポートサーバーからお問い合わせください。

Q. ロールパネルの埋め込み(Embed)でチャンネルやロールをメンションするにはどうすればよいですか。
A. <@&ロールid> や <#チャンネルid>を入力することでメンションができます。

Q. ロールパネルの埋め込み(Embed)でサーバー絵文字を使うにはどうすればよいですか。
A. チャットに絵文字を打ち込む前に、「\」をいれると絵文字の名前とidが表示されます。それをそのままコピーして貼り付けることで使うことができます。
例: <:bakuhatusiro:693800601448087612>

アニメ絵文字の場合は「a:絵文字の名前:id」となります。
例: <a:bakuhatusiro:693800601448087612>

Q. 「トグル」とはなんですか。
A. ロールのトグルは、役職を持っていない場合にはロールを付与して、役職を持っている場合にはロールを剥奪する機能です。(toggle=二つの状態が交互に切り替わる仕組み)

Q. アクションパネルでパネルを送信できないのですが。
A. エラーメッセージの通りに権限の確認等を行ってください。原因がわからない場合はサポートサーバーでご質問ください。

Q. $USERNAME$ など、変数とはなんですか。
A. 特定の文字列に変換するためのものです。たとえば、それぞれのユーザーに「〇〇さん!おはようございます!」と送信したいとき、〇〇はユーザーによって変わるので名前は登録しておけません。その時に〇〇を$USERNAME$ と置くことで、ユーザーによって名前が変わって送信されるようになります。

確認されている問題

  • 長期的な問題はありません

追加・修正予定の機能

Role Keeper で検討・開発中の機能です。(取り消し線は実装済み)

  • 全般

    • 全コマンドをスラッシュコマンドで追加

    • ダッシュボード上でのロールパネルの検証

    • コマンドなしでダッシュボードへ接続できるように

  • オートロール

    • ロール付与の遅延(長期)

  • ロール管理

    • ロール付与 | 剥奪コマンド

      • メンバー全員にロールを付与|剥奪 等できる機能です。

  • サブスクリプションサービス

    • 230円で提供予定!

    • ロールの保持期間などが永久に

    • アクションパネルの上限が無制限(4→∞)

    • アクションパネルのアクション上限が増加(4→20)

サブスクリプションについて

Role Keeper では 月額230円、年額2000円でサブスクリプションに登録できます。

サブスク概要

サブスクリプションに登録すれば、各種機能が無制限*1 になります!

もちろん、サブスクリプションに登録しなくても全ての機能がご利用いただけます。

🐣 サブスクに登録して変わること
・ロール保持機能の保持期間設定が 1年→無制限

・サーバー参加時ロールの設定上限が 1→無制限
・メッセージロールが 1→無制限
・リアクションロールが 1→無制限

下記、未実装ですが予定しています。
・アクションパネルの作成上限が 1→無制限
・アクションパネルのアクション作成上限が 3→30

*1 一部、無制限にならない機能があります。

サブスク登録ガイド

サブスクリプションはこちらのダッシュボードから登録したいサーバーを選択し、「Subscriptions」からご登録いただけます。

もしくは、登録したいサーバーで「/subscriptions」と送信してください。

登録が完了すると、全ての制限が変更されます。制限が変更されていない場合にはサポートサーバーでお問い合わせください。

おわりに

サポートサーバーで常時サポートを行っています。疑問点や不安な点がありましたらお気軽にご連絡ください。

最後まで読んでいただきありがとうございました。

yieldspace では、ほかにもサーバーに役立つ便利な Discord Bot を公開しています。

👇月額500円の高音質読み上げボット「Bard」

👇「Bard」の無料版ボット「Bard Community」

招待リンク



この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
ありがとうございます!
Bard【Discord Bot制作グループ】
Discordの高音質読み上げボット「Bard」の公式アカウントです。ほかにも「Bard Community」「Role Keeper」等のボットも制作しています。