REFERENCE
SDK 範例
@asgard-js/core 與 @asgard-js/react 的用法與可以直接操作的範例。
自訂 Payload
onBeforeSendMessage 讓你在訊息送出前自訂 payload,把當前頁面、
使用者狀態、feature flag 等 context metadata 一起送給 bot —
讓 bot 不只看到使用者打的文字,還能根據完整脈絡產生回應。
程式範例
const [category, setCategory] = useState<Category | null>(null);
<Chatbot
onBeforeSendMessage={(params) => ({
...params,
payload: {
categoryId: category?.id,
categoryName: category?.name,
injectedAt: new Date().toISOString(),
},
})}
{...rest}
/>;SendMessageParamsonBeforeSendMessage接收並回傳的參數結構:欄位 型別 說明 textstring使用者輸入的文字 payloadRecord<string, unknown> | (() => Record<string, unknown>)附帶的 metadata,會一起送到 bot provider blobIdsstring[]已上傳檔案的 blob ID 列表(可選) filePreviewUrlsstring[]圖片預覽 URL(可選) documentNamesstring[]文件名稱(可選) 最常見的用途是注入
payload。其他欄位(例如text加前綴)也可以修改 — 回傳的物件會取代原始參數送出。