什麼是開放能力?
開放能力是平台注入到 程式碼區塊 中的一組宿主函式。程式碼區塊透過這些函式請求聊天頁面執行明確允許的操作,而不是直接存取聊天頁面本身。
所有開放能力函式都只能寫在程式碼區塊中呼叫。目前開放的能力如下,每個能力有單獨的教學:
| 函式 | 作用 | 教學 | 酒館助手相容 |
|---|---|---|---|
setChatInput(text, option?) | 把文字填入扮演或指導輸入框 | setChatInput:填寫聊天輸入框 | /setinput(triggerSlash) |
setChatMessages(updates, option?) | 切換開場白版本 | setChatMessages:切換開場白 | 同名函式 |
開放能力會持續擴充,後續陸續開放更多函式。
呼叫方式與錯誤處理
所有開放能力函式都回傳 Promise:成功時 resolve;參數校驗失敗、操作失敗或逾時(10 秒)時 reject。不需要自己組裝 postMessage 訊息,直接呼叫函式即可。
建議逐項做能力檢測,並始終處理 Promise 拒絕:
js
if (typeof window.setChatInput === 'function') {
try {
await window.setChatInput('要填入的內容');
} catch (error) {
console.error(error.message);
}
}小提示
- 呼叫開放能力前先做能力檢測,並始終處理 Promise 拒絕
- 程式碼區塊的寫法、顯示效果與執行環境限制,見 什麼是程式碼區塊?