排程任務
TomoriBot 可以設定提醒,並把任務排到之後執行,可以是一次性的,也可以是重複的。最簡單的方式就是直接請她;她會透過自己的 create_task 工具建立任務。排程任務是以人格為單位的。
每個人格在回覆時,都會把自己的待執行自我任務放在脈絡中,不論最近的對話中出現了哪些成員。以真人為對象的提醒則更有選擇性:目標必須出現在生效中的對話脈絡裡,或被它提及,而且提醒必須屬於生效中的人格。
在聊天中直接告訴她:
提醒我在 14:30 提交報告每週五晚上 8 點發一則提醒,說遊戲之夜要開始了她會解析時間與重複規則並排定。提醒在觸發時會標註目標使用者;任務則是人格在排定時間執行的安靜自我動作。
絕對時間(「在 14:30」、「在週五晚上 8 點」)預設會以伺服器時區(/config > 行為 > 一般行為)解讀。如果你用 /personal config 設定了個人時區,AI 會在脈絡中看到你的當地時鐘,並在建立任務時用你的 UTC 位移標示你的時間;接著 bot 會以決定性的方式完成換算,所以「9 點提醒我」指的就是你的早上 9 點,即使伺服器在另一個洲也一樣。相對時間(「2 小時後」)與時區無關,永遠安全。
當一則提醒的目標使用者,其個人時區與伺服器不同時,確認 embed 會顯示兩個時鐘(伺服器時間與目標的當地時間),所以被標錯的時間會立刻看得出來,並可以用後續訊息或 /scheduled-task edit 修正。
有兩個斜線指令可以檢視與調整既有的排程:
/scheduled-task edit:變更任務的內容、下次觸發時間、重複間隔,或它是否為提醒。把間隔設為0即可停用重複。/scheduled-task remove:刪除提醒或任務。
兩者都會開啟一個清單,列出你既有的排程(人格、時間、頻道與重複規則),所以你不必記住任何 ID。
提醒由應用程式內的排程器傳送,而且只有在傳送成功之後才會標記為完成;如果傳送被中止,或頻道佇列被清空,就會自動重試。重試的延遲不會改變原本的重複節奏。
自動嘗試不會每次都發一則錯誤訊息。如果超過重試上限仍然傳送失敗,TomoriBot 會發布一則警告,內含未變更的排程內容與它的 ID。失敗的真人提醒會標註目標,以免提醒被漏掉;失敗的自我任務則不會標註任何人。一次性排程之後會被移除,而重複排程會保持生效,等待下一次原本的發生時間,並可以用 /scheduled-task edit 或 /scheduled-task remove 管理。執行階段的細節請看架構總覽。
排程是數種代理功能之一,完整樣貌請看工具與擴充。