mcpField
D
discord-automation

discord-automation

github.com/sickn33その他48.7k91 回インストール1 日前に更新
リポジトリ

discord-automation について

Rube MCP 上の Composio ツールキットを通じて、Discord のメッセージ、ロール、Webhook、リアクションを自動化するワークフロースキルです。接続確認やツール定義の取得、権限を踏まえた操作をエージェントに案内します。

主な機能

  1. 01チャンネルメッセージの送信と編集
  2. 02ダイレクトメッセージの作成と送信
  3. 03サーバーロールの作成と管理
  4. 04Webhook の作成と実行
  5. 05リアクションの確認と削除

活用シーン

  1. 01Discord チャンネルのメッセージ投稿や更新
  2. 02Discord ユーザーへのダイレクトメッセージ送信
  3. 03サーバーメンバーへのロール付与や削除
  4. 04Webhook を使ったメッセージ投稿

MCP 対応

Rube MCP と Composio の Discord および Discordbot ツールキットを利用します。操作前に最新のツール定義を取得し、認証済みで有効な Discord 接続を確立するようクライアントに案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill discord-automation

インストール後、Claude Code で/discord-automationを入力して読み込まれたか確認します。

詳細

Rube MCP を介した Discord の自動化

Rube MCP を介して Composio の Discord/Discordbot ツールキットを利用し、Discord の操作を自動化します。

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能であること)
  • ツールキット discord と discordbot を使用する RUBE_MANAGE_CONNECTIONS による有効な Discord 接続
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。エンドポイントはホストに従って接続し、認証する必要があります。各サービスへの接続には、それぞれ別途、承認済みアカウントとスコープが必要です。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. ボット操作にはツールキット discordbot を、ユーザー操作には discord を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Discord の認証を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. メッセージを送信する

使用する場面:ユーザーがチャンネルまたは DM にメッセージを送信したい場合

ツールの呼び出し順序:

  1. DISCORD_LIST_MY_GUILDS - ボットが参加しているギルドを一覧表示します[前提条件]
  2. DISCORDBOT_LIST_GUILD_CHANNELS - ギルド内のチャンネルを一覧表示します[前提条件]
  3. DISCORDBOT_CREATE_MESSAGE - メッセージを送信します[必須]
  4. DISCORDBOT_UPDATE_MESSAGE - 送信済みメッセージを編集します[任意]

主なパラメーター:

  • channel_id:チャンネルのスノーフレーク ID
  • content:メッセージのテキスト(最大 2000 文字)
  • embeds:リッチコンテンツ用の埋め込みオブジェクトの配列
  • guild_id:チャンネル一覧表示に使用するギルド ID

注意点:

  • ボットにはチャンネル内で SEND_MESSAGES 権限が必要です
  • 高頻度で送信するとルートごとのレート制限に達することがあります。Retry-After ヘッダーに従ってください
  • 編集できるのは、同じボットが送信したメッセージのみです
2. ダイレクトメッセージを送信する

使用する場面:ユーザーが Discord ユーザーに DM を送りたい場合

ツールの呼び出し順序:

  1. DISCORDBOT_CREATE_DM - DM チャンネルを作成するか、既存のチャンネルを取得します[必須]
  2. DISCORDBOT_CREATE_MESSAGE - DM チャンネルにメッセージを送信します[必須]

主なパラメーター:

  • recipient_id:DM を送る相手のユーザーのスノーフレーク ID
  • channel_id:CREATE_DM から取得した DM チャンネル ID

注意点:

  • DM を無効にしているユーザーや、ボットをブロックしているユーザーには DM を送信できません
  • 既存のチャンネルがある場合、CREATE_DM はそのチャンネルを返します
3. ロールを管理する

使用する場面:ユーザーがロールを作成、割り当て、または削除したい場合

ツールの呼び出し順序:

  1. DISCORDBOT_CREATE_GUILD_ROLE - 新しいロールを作成します[任意]
  2. DISCORDBOT_ADD_GUILD_MEMBER_ROLE - メンバーにロールを割り当てます[任意]
  3. DISCORDBOT_DELETE_GUILD_ROLE - ロールを削除します[任意]
  4. DISCORDBOT_GET_GUILD_MEMBER - メンバーの詳細を取得します[任意]
  5. DISCORDBOT_UPDATE_GUILD_MEMBER - メンバーの情報(ロール、ニックネームなど)を更新します[任意]

主なパラメーター:

  • guild_id:ギルドのスノーフレーク ID
  • user_id:ユーザーのスノーフレーク ID
  • role_id:ロールのスノーフレーク ID
  • name:ロール名
  • permissions:ビット演算形式の権限値
  • color:RGB カラーの整数値

注意点:

  • ロールの割り当てには MANAGE_ROLES 権限が必要です
  • 対象のロールは、ボットの最高位ロールより下位である必要があります
  • DELETE すると、そのロールはすべてのメンバーから完全に削除されます
4. ウェブフックを管理する

使用する場面:ユーザーが外部連携用のウェブフックを作成または使用したい場合

ツールの呼び出し順序:

  1. DISCORDBOT_GET_GUILD_WEBHOOKS / DISCORDBOT_LIST_CHANNEL_WEBHOOKS - ウェブフックを一覧表示します[任意]
  2. DISCORDBOT_CREATE_WEBHOOK - 新しいウェブフックを作成します[任意]
  3. DISCORDBOT_EXECUTE_WEBHOOK - ウェブフックを介してメッセージを送信します[任意]
  4. DISCORDBOT_UPDATE_WEBHOOK - ウェブフックの設定を更新します[任意]

主なパラメーター:

  • webhook_id:ウェブフック ID
  • webhook_token:ウェブフックのシークレットトークン
  • channel_id:ウェブフックの作成先チャンネル
  • name:ウェブフック名
  • content/embeds:実行時に送信するメッセージの内容

注意点:

  • ウェブフックトークンは秘密情報です。安全に取り扱ってください
  • ウェブフックでは、メッセージごとにカスタムのユーザー名とアバターを設定して投稿できます
  • 作成には MANAGE_WEBHOOKS 権限が必要です
5. リアクションを管理する

使用するタイミング:メッセージのリアクションを表示または管理したい場合

ツールの順序:

  1. DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI - リアクションしたユーザーを一覧表示します[任意]
  2. DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS - すべてのリアクションを削除します[任意]
  3. DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI - 特定の絵文字のリアクションを削除します[任意]
  4. DISCORDBOT_DELETE_USER_MESSAGE_REACTION - 特定のユーザーのリアクションを削除します[任意]

主なパラメーター:

  • channel_id:チャンネル ID
  • message_id:メッセージのスノーフレーク ID
  • emoji_name:URL エンコードされた絵文字、またはカスタム絵文字用の name:id
  • user_id:特定のリアクションを削除するユーザー ID

注意点:

  • Unicode 絵文字は URL エンコードする必要があります(例:サムズアップの場合は「%F0%9F%91%8D」)
  • カスタム絵文字には name:id 形式を使用します
  • DELETE_ALL には MANAGE_MESSAGES 権限が必要です

よくあるパターン

スノーフレーク ID

Discord では、すべてのエンティティにスノーフレーク ID(文字列としての 64 ビット整数)を使用します:

  • ギルド、チャンネル、ユーザー、ロール、メッセージ、ウェブフック
権限ビットフィールド

権限はビット単位の OR を使って組み合わせます:

  • SEND_MESSAGES = 0x800
  • MANAGE_ROLES = 0x10000000
  • MANAGE_MESSAGES = 0x2000
  • ADMINISTRATOR = 0x8
ページネーション
  • ほとんどの一覧エンドポイントは limit、before、after パラメーターに対応しています
  • メッセージ:リクエストあたり最大 100 件
  • リアクション:リクエストあたり最大 100 件。ページネーションには after を使用します

既知の注意点

ボットトークンとユーザートークン:

  • discordbot ツールキットはボットトークンを使用し、discord はユーザー OAuth を使用します
  • 自動化ではボットによる操作が推奨されます

レート制限:

  • Discord はルートごとにレート制限を適用します
  • 429 レスポンスでは Retry-After ヘッダーを尊重してください

クイックリファレンス

タスクツールスラッグ主なパラメーター
ギルドを一覧表示DISCORD_LIST_MY_GUILDS(なし)
チャンネルを一覧表示DISCORDBOT_LIST_GUILD_CHANNELSguild_id
メッセージを送信DISCORDBOT_CREATE_MESSAGEchannel_id, content
メッセージを編集DISCORDBOT_UPDATE_MESSAGEchannel_id, message_id
メッセージを取得DISCORDBOT_LIST_MESSAGESchannel_id, limit
DM を作成DISCORDBOT_CREATE_DMrecipient_id
ロールを作成DISCORDBOT_CREATE_GUILD_ROLEguild_id, name
ロールを割り当てDISCORDBOT_ADD_GUILD_MEMBER_ROLEguild_id, user_id, role_id
ロールを削除DISCORDBOT_DELETE_GUILD_ROLEguild_id, role_id
メンバーを取得DISCORDBOT_GET_GUILD_MEMBERguild_id, user_id
メンバーを更新DISCORDBOT_UPDATE_GUILD_MEMBERguild_id, user_id
ギルドを取得DISCORDBOT_GET_GUILDguild_id
ウェブフックを作成DISCORDBOT_CREATE_WEBHOOKchannel_id, name
ウェブフックを実行DISCORDBOT_EXECUTE_WEBHOOKwebhook_id, webhook_token
ウェブフックを一覧表示DISCORDBOT_GET_GUILD_WEBHOOKSguild_id
リアクションを取得DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJIchannel_id, message_id, emoji_name
リアクションをクリアDISCORDBOT_DELETE_ALL_MESSAGE_REACTIONSchannel_id, message_id
認証をテストDISCORDBOT_TEST_AUTH(なし)
チャンネルを取得DISCORDBOT_GET_CHANNELchannel_id

使用するタイミング

このスキルは、概要に記載されたワークフローまたはアクションを実行する場合に適用できます。

例

ユーザーのリクエスト:

Rube MCP(Composio)を使って、メッセージ、チャンネル、ロール、ウェブフック、リアクションなどの Discord タスクを自動化してください。

制限事項

  • タスクが上記の説明の範囲に明確に該当する場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を止めて確認してください。

メッセージ、DM、またはウェブフックの投稿を送信する前に、対象のギルド、チャンネル、送信先、および内容を確認してください。ユーザーが連絡を許可した場合にのみ送信してください。ロールの変更には承認済みの権限範囲が必要です。便宜上 ADMINISTRATOR を付与してはなりません。利用可能な許可対象メンションの制御機能を使って、意図しないメンションを抑止してください。ウェブフックトークンは非公開に保ち、送信結果が不明な場合は再試行する前に状態を確認してください。

コメント