語言與時間
roundtable.config.ts 裡有兩個設定,決定 bot 用什麼語言說話,以及它說的時間指的是哪個時區:
export default { // ... locale: "zh-TW", timeZone: "Europe/Berlin",} satisfies RoundtableConfig;| 鍵 | 值 | 預設值 |
|---|---|---|
locale |
"en" 或 "zh-TW" |
"en" |
timeZone |
IANA 時區名稱,例如 Europe/Berlin 或 Asia/Taipei |
"UTC" |
主機只在啟動時套用這兩個設定一次,之後整個行程都用它們。 改了之後,要重啟 bot。
locale
Section titled “locale”locale 選擇 bot 在 Discord 裡顯示文字用的訊息目錄(message catalog)。
兩份目錄的鍵完全相同。
它涵蓋的內容包括:
- 核准與提問的卡片,連同按鈕和頁尾。
- 停止按鈕,以及長時間那一輪的提示。
/roundtable指令的說明、對非 owner 的拒絕訊息,以及排程面板。- 會自己更新的狀態訊息,以及對話貼出的通知,例如回覆失敗或這一輪被停止。
- 工具說明裡時區的稱呼方式:英文目錄用 IANA 名稱(
Europe/Berlin),zh-TW目錄用地名(Berlin)。
en 和 zh-TW 以外的值會報錯:
config locale: expected a locale, en or zh-TW, got "<value>". Fix the value in roundtable.config.ts.locale 不會改動的有:
- Discord 管理工具的 audit log 原因和拒絕訊息,兩種 locale 下都是英文。
- 核心加進 agent 提示詞的文字是英文。
- 你的提示詞、你的 agent,以及你的外掛的文字,用什麼語言寫都隨你。
timeZone
Section titled “timeZone”timeZone 是 bot 處理任何帶有時鐘時間的東西時使用的時區。
- 排程的單次時間(
"YYYY-MM-DD HH:MM")和每天重複的時間("HH:MM")都以這個時區為準,排程工具的說明裡也會這樣註明。 - 排程訊息和清單裡的時間戳記,以及
channel_read的輸出,都用這個時區。 - 放進每位 speaker 記憶區塊的「即將到來的事件」,其中的「今天」是這個時區的日期。
名稱是在 bot 啟動時檢查,不是在設定檢查時。
roundtable doctor 接受任何非空字串。
執行環境不認得的時區,會在檢查都通過之後讓 roundtable start 停下來:
Invalid time zone: <value>排程實際怎麼用,見排程與背景工作。