Lords Monitor
Lords Monitor 讓 Lords Bot 持續運作:在當機或卡住後重新啟動機器人、替它登入、依排程重新啟動,還能透過 Discord 通知你。
Lords Monitor 是隨 Lords Bot 附帶的小型監控程式。它會啟動機器人,在機器人當機或卡住時重新啟動它,可以替你登入,出問題時還能傳 Discord 訊息給你。只要你讓機器人在沒人看管的情況下執行,就應該使用它,特別是在 雲端伺服器 上。
啟動 Monitor
Monitor 就是 Lords Bot 安裝資料夾(預設為 %LocalAppData%\Lords Bot)中的 Monitor.exe。開始功能表中沒有它的捷徑,請開啟資料夾並按兩下 Monitor.exe。它的視窗標題是 Monitor。
Monitor 啟動時,如果機器人沒有在執行,它就會啟動機器人。要讓 Monitor 隨 Windows 一起啟動,請在它的設定中開啟 Run at Windows startup。
讓機器人自己登入並啟動帳號
Monitor 會重新啟動機器人程式,但機器人仍然需要登入並啟動你的帳號。請先設定一次:
- 在機器人的登入畫面勾選 保存帳號(Remember Me),儲存你的電子郵件和密碼。Monitor 的 Auto-login 會用這些儲存的資料按下 登錄(Sign in)。
- 在登入畫面勾選 自動開始(Auto Start)(或在主視窗中勾選 設置 > 選項 > 自動啟動帳戶(Settings > Options > Auto Start Accounts))。
- 在帳號列表中,為每個要自動啟動的帳號勾選 自動啟動(Auto-Start)。
- 讓 Monitor 設定中的 Auto-login 保持開啟(預設為開啟)。
你不需要勾選登入畫面上的 自動登錄(Auto Login),Monitor 會替你按下 登錄。
主視窗
視窗上方會顯示機器人的狀態:
- Running:執行中,並顯示已執行多久,以及最後一次心跳訊號是何時收到的。
- Not responding:機器人仍在執行,但已停止傳送心跳訊號。Monitor 即將重新啟動它。
- Restarting in …s:機器人已停止,Monitor 即將再次啟動它。
- Stopped:機器人沒有在執行。
下方的 Logged in 顯示機器人是否已登入,Restarts 和 Crashes 則統計 Monitor 做過的事。開啟排程重新啟動時,Next scheduled restart 會顯示距離下次重新啟動還有多久。
- Restart 會立即重新啟動機器人。如果機器人已停止,按鈕會顯示 Start。
- Stop 會關閉機器人,並讓它保持關閉,直到你點擊 Start。
下方的 Activity 記錄會列出 Monitor 做的每一件事。
注意: 如果你在 Monitor 執行時自己關閉了機器人,Monitor 會把它當成意外停止,並再次啟動它(如果有設定,還會傳送 Discord 通知)。要讓機器人保持關閉,請在 Monitor 中點擊 Stop,或先關閉 Monitor。
設定
點擊右上角的齒輪圖示開啟設定。變更會立即儲存。
| 設定 | 作用 | 預設值 |
|---|---|---|
| Supervise all bot installs | 由這一個 Monitor 監控這台電腦上所有的 Lords Bot 安裝,而不只是它所在的那一套。請參閱 在一台電腦上安裝多套。 | 關閉 |
| Watched bot folders | 開啟 Supervise all bot installs 時顯示。正在執行的機器人會被自動找到;在這裡加入資料夾後,該資料夾的機器人沒有在執行時也會被啟動。 | 空白 |
| Auto-restart on crash | 機器人意外關閉時再次啟動它。 | 開啟 |
| Auto-login | 用 保存帳號 儲存的資料讓機器人登入。如果 90 秒後機器人仍未登入,Monitor 會重新啟動它。 | 開啟 |
| Scheduled restart | 定期重新啟動機器人,讓長時間執行的工作階段保持順暢。Monitor 會要求機器人正常關閉,只有在 20 秒後仍未關閉時才會強制關閉。 | 開啟 |
| Restart every (min) | 排程重新啟動之間的分鐘數。 | 360(6 小時) |
| Wait before restart (s) | 機器人停止後,要等待幾秒才再次啟動它。 | 45 |
| Heartbeat timeout (s) | 機器人每隔幾秒會傳送一次心跳訊號。如果超過這段時間都沒有收到,Monitor 會認為機器人已卡住,關閉它後再重新啟動。 | 90 |
| Minimize to tray | 關閉或最小化 Monitor 時,會把它隱藏到系統匣,而不是結束程式。 | 關閉 |
| Run at Windows startup | 在你登入 Windows 時啟動 Monitor。 | 關閉 |
| Notify on restart | Monitor 在機器人停止後重新啟動它時,顯示 Windows 通知。 | 開啟 |
| Discord webhook | 把通知傳送到 Discord 頻道。請見下方說明。 | 空白 |
注意: 如果 Minimize to tray 是關閉的,關閉 Monitor 視窗就會結束 Monitor,之後就沒有任何程式在監控機器人了。
系統匣圖示
開啟 Minimize to tray 時,Monitor 會在系統匣中顯示圖示。點擊它會出現一個小面板,顯示 Logged in、Restarts 和 Crashes,以及 Open Monitor 和 Quit。
Discord 通知
- 在 Discord 中開啟頻道設定 > 整合(Integrations)> Webhook(Webhooks),建立一個 Webhook 並複製它的網址。
- 把網址貼到 Monitor 設定中的 Discord webhook。
- 點擊 Send test。頻道中應該會立即出現一則測試訊息。
Monitor 只會在出問題時傳送訊息:
- 機器人意外停止(當機,或被其他程式關閉);
- 機器人卡住,必須被關閉;
- 機器人無法在 90 秒內登入;
- 機器人無法啟動;
- 排程重新啟動時必須強制關閉機器人。
一般的排程重新啟動、你自己點擊 Restart 和 Stop,以及設定變更,都 不會 傳送訊息。如果同時發生好幾件事(例如電腦重新啟動後),它們會合併成一則訊息。每則訊息都會註明相關的安裝資料夾。
Webhook 欄位下方的文字會告訴你網址是否不是 Discord Webhook,或 Discord 是否拒絕了它(例如因為 Webhook 已被刪除)。在你修正網址之前,通知會暫停。如果你的網路或 Discord 無法連線,通知會等到連線恢復後再傳送。
應避免的事
- 不要把 Monitor 當成 Windows 服務執行,也不要用設定為「不論使用者登入與否均執行」的排程工作來執行。這樣它啟動的機器人不會有你能看到或開啟的視窗。請改用 Run at Windows startup。
- 用同一個 Windows 使用者執行 Monitor 和機器人。 Monitor 看不到在其他 Windows 使用者下執行的機器人,所以會再啟動同一套安裝的第二個副本。
更新
Lords Bot 更新時,更新程式會關閉機器人和 Monitor、替換檔案,如果 Monitor 原本在執行,就會再次啟動它,然後由 Monitor 啟動機器人。請參閱 更新與 Beta 通道。
還是無法解決嗎?到 Discord 詢問我們的工作人員。