メインコンテンツまでスキップ
バージョン: v2 Next 🚧

インターフェイス: AiDisplayConfig

定義: plugins/ai/src/config.ts:79

応答の見せ方。

プロパティ

allowedMentions

readonly allowedMentions: MessageMentionOptions | null;

定義: plugins/ai/src/config.ts:106

応答のメンションをどこまで解決するか。null を渡すと discord.js の 既定(本文に書かれたメンションはすべて解決される)に任せます。

既定は { parse: [] } = どのメンションも解決しません。 モデルの 出力をそのまま本文へ流すため、既定のままだとプロンプトインジェクション で @everyone を書かれても発火しません。許可する場合は明示してください。


decorate?

readonly optional decorate?: (embed, kind) => EmbedBuilder;

定義: plugins/ai/src/config.ts:116

応答の埋め込みに手を入れるフック。title・footer・timestamp などを 足したい場合に使います。返した EmbedBuilder が送られます。

埋め込み経路でだけ呼ばれます(embeds: false のときは通りません)。 どちらの経路でも通したい場合は AiDisplayConfig.payload を 使ってください。

パラメータ

embed

EmbedBuilder

kind

AiReplyKind

戻り値

EmbedBuilder

Default

何もしない

embeds

readonly embeds: boolean;

定義: plugins/ai/src/config.ts:81

応答を埋め込みで返す。false でプレーンテキスト。


ephemeral

readonly ephemeral: boolean;

定義: plugins/ai/src/config.ts:83

応答を本人にだけ見える形にする。


payload?

readonly optional payload?: (payload, context) => AiMessagePayload;

定義: plugins/ai/src/config.ts:126

送信ペイロードそのものに手を入れるフック。

埋め込み経路とプレーンテキスト経路の両方で、送信直前に必ず 通ります(decorate より後)。components を足す・ allowedMentions を1通だけ変える・分割された2通目以降だけ 見た目を変える、といったことができます。

パラメータ

payload

AiMessagePayload

context

AiPayloadContext

戻り値

AiMessagePayload

Default

何もしない

splitThreshold

readonly splitThreshold: number | "auto";

定義: plugins/ai/src/config.ts:97

1通に収める最大文字数。超えた分は分割して2通目以降へ送ります。

既定の "auto"その呼び出しで実際に使う表示方法 から Discord の上限を選びます(埋め込みなら 4096、プレーンテキストなら 2000)。reply(interaction, { embeds: false }) のように呼び出しごとに 表示方法を変えても分割位置がずれません。

数値を指定すると、表示方法にかかわらずその値を使います。ただし 明示した値でも、埋め込みなら 4096、プレーンテキストなら 2000 を 超えた分は上限に丸められます(超えた指定は必ず送信に失敗するため)。 実際に使われる値は aiSplitThreshold で解決します。