Discord 連携
Discord と Pigeon Workflow を連携すると、ワークフローの結果をチャンネルに投稿できます。さらに Bot を登録すると、メッセージの受信・スラッシュコマンド・ダイレクトメッセージ送信も使えます。
組織共有の連携です
この連携は組織単位で登録します。一度登録すれば、同じ組織のメンバーがワークフローから利用できます。 権限管理が有効な組織では、シークレットに「利用」権限を持つメンバーが利用できます。詳しくは権限管理の完全ガイドを参照してください。
2 つの接続方法
やりたいことに応じて選びます。両方を登録することもできます。
| 接続方法 | できること | 必要な権限 |
|---|---|---|
| Webhook URL | チャンネルへのメッセージ送信(テキスト・リッチメッセージ・ファイル添付) | そのチャンネルの「Webhook を管理」権限。サーバーのオーナーである必要はありません。 |
| Bot Token | メッセージの受信・スラッシュコマンドでの起動・メッセージの編集や削除・リアクション追加・ダイレクトメッセージ送信 | Bot をサーバーに招待するため「サーバーを管理」権限を持つメンバーが必要です。 |
送信の設定(Webhook URL)
Discord で Webhook を作る
送信先チャンネルを右クリック →「チャンネルの編集」→ 左メニューの「連携サービス」→「ウェブフック」→「新しいウェブフック」をクリックします。 必要なら名前とアイコンを設定し、「ウェブフックURLをコピー」を押します。
Pigeon Workflow に登録する
「設定」→「サービス連携」→「Discord」を開き、「Webhookを追加」をクリックします。Webhook URL を貼り付け、必要に応じて表示名を入力して「接続テスト & 追加」を押します。
テストメッセージを確認する
登録時に自動でテストメッセージが送られます。届かない場合は保存されません。URL をコピーし直してお試しください。
1 つの Webhook URL は 1 つのチャンネル用です
複数のチャンネルに送信する場合は、チャンネルごとに Webhook を追加してください。
受信の設定(Bot Token)
メッセージの受信やスラッシュコマンドでの起動には Bot の登録が必要です。Discord Developer Portal で用意します。
アプリケーションを作る
Discord Developer Portal で「New Application」をクリックし、名前を入力して「Create」を押します。
3 つの値をコピーする
「General Information」から APPLICATION ID と PUBLIC KEY を、 「Bot」→「Reset Token」から Bot Token をコピーします。
必要な設定を有効にする
「Bot」の「Privileged Gateway Intents」で、MESSAGE CONTENT INTENT(メッセージの受信に必要)と、 メンバーの参加を検知したい場合は SERVER MEMBERS INTENT を有効にします。
Bot をサーバーに招待する
「OAuth2」→「URL Generator」で Scopes に bot を選び、 Bot Permissions で View Channels(チャンネル一覧の取得に必須)・Send Messages・Read Message History・Add Reactions・Manage Messages を選びます。 生成された URL をブラウザで開いて「認証」をクリックします。
チャンネル側の権限も確認する
対象チャンネルを右クリック →「チャンネルの編集」→「権限」→「メンバーまたはロールを追加」で Bot を選び、チャンネルを見る・メッセージ履歴を読むにチェックを入れます。 サーバー全体の権限があっても、チャンネル個別の設定でブロックされていることがあります。
Pigeon Workflow に登録する
「Bot Tokenを接続」をクリックし、Bot Token・Application ID・Public Key を入力して「接続」を押します。 既に Webhook を登録している場合は、「既存連携に追加」で同じ連携にまとめられます。
スラッシュコマンドを使う場合
接続後に表示される Interactions Endpoint URL をコピーし、 Developer Portal の「General Information」→「INTERACTIONS ENDPOINT URL」に貼り付けて保存します。 Discord が自動で確認を行い、成功すればスラッシュコマンドでワークフローを起動できます。
スラッシュコマンドそのものは Discord 側で用意します
/コマンド名 の定義は Discord Developer Portal 側で行ってください。Pigeon Workflow から作成することはできません。
ワークフローで使えるノード
| ノード | できること | 主な設定 |
|---|---|---|
| Discord メッセージ取得 | チャンネルの新しいメッセージで起動する / スラッシュコマンドで起動する / メッセージ履歴を取得する | Discord Bot / アクション / チャンネル / 取得件数 |
| Discord 送信 | テキスト・リッチメッセージ・ファイル添付の送信、メッセージの編集・削除、リアクション追加、ダイレクトメッセージ送信 | Discord Webhook / アクション / メッセージ |
メッセージの受信・編集・削除・リアクション・ダイレクトメッセージには Bot Token の登録が必要です。 送信だけなら Webhook URL のみで使えます。
メッセージの受信は約 1 分ごとの確認です
投稿された瞬間ではなく、定期的にチャンネルを確認して新しいメッセージを見つける方式です。数十秒ほどの遅れが出ることがあります。 即時に起動したい場合はスラッシュコマンドをご利用ください。
注意点と制限
Webhook URL はパスワードと同じ扱いにしてください
Webhook URL を知っている人は、誰でもそのチャンネルに投稿できます。 共有ファイルやチャットに貼らないでください。 誰でも見られる #general のようなチャンネルではなく、通知専用のチャンネルを用意することをおすすめします。
- 文字数の上限: メッセージ本文は 2,000 文字、リッチメッセージのタイトルは 256 文字、添付ファイルは 25MB までです。入力欄に残り文字数が表示されます。
- Bot Token だけで登録した場合は、受信するチャンネルをノード側で指定してください。チャンネルが未設定だと受信が動きません。
- 短時間に大量に送信すると Discord 側で待たされます。1 分に 20 件を超えるようなら、Webhook を複数登録して送信先を分けてください。
- チャンネルや Webhook を Discord 側で削除すると送信できなくなり、連携が「未接続」になります。
- Webhook URL と Bot Token は暗号化して保存され、画面で全体を見ることはできません。