メインコンテンツまでスキップ

Discord

AnyyはDiscordボットトークンと公式Gateway接続プロファイルを使用します。アダプターは、ダイレクトメッセージ、サーバーのチャンネル、Discordスレッド、受信添付ファイル、ペアリング、稼働中のヘルスチェックに対応しています。

1. Discordアプリケーションを作成する​

Discord Developer Portalで次を行います。

  1. アプリケーションを作成してボットユーザーを追加します。
  2. ボットトークンを安全なパスワードマネージャーにコピーします。
  3. 有効にする会話に応じたGatewayインテントを設定します。
  4. メッセージの表示と送信の権限を付けて、対象のサーバーにボットをインストールします。

Anyyはポリシーに基づいて必要なインテントを算出します。ダイレクトメッセージにはdirect-messageインテント、有効なサーバーメッセージにはguild-messageインテントが必要です。グループポリシーがopenまたはallowlistの場合はMessage Contentインテントも必要です。Dashboardには対応する外部側の前提条件が表示されます。

2. AnyyにDiscordを追加する​

Dashboard → Channel → Add → Discordを開きます。既定の項目はBot Gatewayです。ボットトークンを追加します。DMとグループのポリシーはCLIウィザードで設定してください。このDashboardフォームには入力欄がありません。

CLIでの設定は次のとおりです。

anyy setup channel

ボットトークンはProfileのシークレットとして保存されます。アカウントを有効にすると、Anyyは認証済みのボット識別情報とアプリケーション識別情報の両方を検証してから接続を受け入れます。

3. ポリシーを設定する​

Discordの既定値は、ダイレクトメッセージがpairing、グループがmentionです。公開されている設定の選択肢は次のとおりです。

ポリシーDMグループ
pairing対応—
allowlist対応対応
open対応対応
mention—対応
disabled対応対応

CLIウィザードでDiscordを選んでポリシーを編集します。既存の許可リストにはDiscordのユーザー/チャンネル識別情報が使われます。現在の設定機能ではリスト項目を編集できません。メッセージングプラットフォームを参照してください。

4. 接続を検証する​

anyy channel reload
anyy channel doctor discord

ダイレクトメッセージを送るか、許可されたサーバーチャンネルでボットをメンションします。Pairingが有効な場合は、新しいDM送信者を承認します。

anyy channel pairing list --channel discord
anyy channel pairing approve --request REQUEST_ID

スレッドと添付ファイル​

Discordスレッドの識別情報は会話のルートに保持されるため、返信は同じスレッドに戻ります。受信添付ファイルはメディア制限を満たすと、その範囲に対応するAnyyセッションにダウンロードされます。

ボットに必要以上のDiscord権限を与えないでください。ツールとモデルの権限はAnyyが管理しますが、ボットが読み書きできる場所はDiscordの権限で決まります。

インテント変更後はトークンが有効でも受信できなくなる場合があります

グループポリシーを広げた場合は、対応するDiscord Gatewayインテントも更新してAnyyを再読み込みします。トークンが有効なだけではメッセージイベントの配信は保証されません。

トラブルシューティング​

症状確認する項目
ボットは認証されるがサーバーメッセージを受信しないguild/messageインテント、ボットのインストール、チャンネル権限、グループポリシー
メンションだけが動く既定のmentionポリシーでは想定どおりの動作
DMが送信者のペアリングを待っているペアリング要求を承認してから、新しいDMを送信
返信先が正しくないイベントに意図したチャンネル/スレッド識別情報が含まれるか
添付ファイルがないDiscordのURLへのアクセス、ファイルサイズ、メディア制限、診断出力

共通のペアリングと再読み込みの動作は、メッセージングプラットフォームを参照してください。