チャットとトリガー
トモリは呼びかけられた時にだけ応答します。このページでは、トリガーする方法、オートトリガーを使ったハンズフリーのチャット、そして意図的トリガーモードを使って誤爆を防ぐ方法について説明します。
トリガーの仕組み
Section titled “トリガーの仕組み”デフォルトでは、次の場合に応答します。
- メンションする:
@TomoriBot - 返信する:トモリのメッセージ(ペルソナのWebhookメッセージを含む)に返信したとき
- トリガーワードを使う:登録した言葉をメッセージのどこかで言ったとき
/bot respondを使う:手動で返信を促すとき
トリガーワードは最も便利な方法です。一度言葉を登録すれば、名前を呼ぶだけで起動します。DMでは、ただ挨拶するだけでよく、トリガーは必要ありません。
トリガーワードの管理
Section titled “トリガーワードの管理”/server trigger add:カスタムのトリガーワードを追加します(アルターペルソナにも対応しており、特定の言葉で特定のキャラクターを呼び出せます)。/server trigger remove:トリガーワードを削除します。
表情とリアクション
Section titled “表情とリアクション”返信する際、サーバーのカスタム絵文字やステッカーを使用したり、メッセージにリアクションを追加したりできます。
- カスタム絵文字は、大文字小文字を区別しない
:name:の構文を使って、会話の中で自然に使用されます。 - 返信に合わせてステッカーを付けたり、絵文字でリアクションを追加したりできます。
/server expressions initializeを実行して、サーバーの絵文字とステッカーを登録し、トモリが正確に使用できるようにします。
メッセージのテキストだけでなく、トモリが返信するたびにDiscordのコンテキストのスナップショットが渡されます。これにより、話された内容だけでなく、どこで、いつ会話が行われているかについても話すことができます。このコンテキストには以下が含まれます。
- 現在いる場所:現在のサーバー名と説明(またはDMであること)、そして現在のチャンネル。
- 現在の時刻:
/server timezoneに基づくサーバーの現地時間と大まかな時間帯。さらに、/personal timezoneを設定している場合は各ユーザーの現地時間。 - 会話の参加者:参加者の表示名、メンション方法、外見のタグ、保留中のリマインダー。
- 誰が何をしているか(プレゼンス):ユーザーのDiscordアクティビティ。プレイ中、配信中、再生中(例:Spotifyの曲とアーティスト)、視聴中、またはカスタムステータス。
プレゼンスはプライバシーによって保護されています。Minimalのプライバシーレベル(デフォルト:/personal privacyを参照)のユーザーで、かつbotでDiscordのGuild Presencesインテントが有効になっている場合にのみ共有されます。プライバシー設定を高めているユーザーや、そのインテントを持たずに実行しているセルフホスト環境では、アクティビティはトモリに共有されません。
オートトリガー(ハンズフリーチャット)
Section titled “オートトリガー(ハンズフリーチャット)”オートトリガーを使用すると、名前を呼ばなくても会話に参加できるようになります。
/server autotrigger channels:メンションなしで応答するチャンネルを設定します。/server autotrigger threshold:返信するまでに蓄積するメッセージの数を設定します。(未実装)/natres:自律応答の人間らしいタイミング
これは、呼び出されるアシスタントとしてではなく、参加者のように感じてほしい専用のチャットチャンネルで使用してください。
意図的トリガーモード
Section titled “意図的トリガーモード”日常会話でペルソナの名前がたくさん出てくると、通常のトリガーワードが偶然発動してしまうことがあります。意図的トリガーモード (DTM) は、通常のトリガーワードを明示的なトリガーとしてカウントしないようにすることでこれを解決します。
DTMがオンの場合:
@{trigger}(メンションのように接頭辞を付けたトリガーワード)は引き続き機能します- Discordのメンションは引き続き機能します
- 返信は引き続き機能します
/bot respondは引き続き機能します- 通常のトリガーワードではトリガーされなくなります
これにより、偶然の起動ではなく、意図的な呼び出しが強制されます。
サーバーと個人の制御
Section titled “サーバーと個人の制御”/server dtm:サーバー管理者がサーバー全体の動作を切り替えます。/personal dtm:各ユーザーが自分用に上書きします。次の3つのモードがあります。- off:常に通常のトリガーワードを許可します
- follow:サーバーの設定に従います
- on:常に意図的な呼び出しを要求します
Discordで/help deliberate-trigger-modeを実行すると、同じ概要を確認できます。