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(打开 Monitor)和 Quit(退出)。
Discord 提醒
- 在 Discord 中打开频道设置 > 整合(Integrations)> Webhooks,创建一个 webhook 并复制它的 URL。
- 把 URL 粘贴到 Monitor 设置中的 Discord webhook。
- 点击 Send test(发送测试)。频道中应该会立即出现一条测试消息。
Monitor 只在出问题时才发送消息:
- 机器人意外停止(崩溃了,或被其他程序关闭);
- 机器人卡死,不得不被关闭;
- 机器人在 90 秒内未能登录;
- 机器人启动失败;
- 计划重启时不得不强制关闭机器人。
对于正常的计划重启、你自己点击的 Restart 和 Stop,以及设置的修改,它不会发送消息。如果同时发生了几件事(例如电脑重启之后),它们会合并成一条消息发送。每条消息都会注明它涉及的安装文件夹。
webhook 输入框下方的文字会告诉你该 URL 是否不是 Discord webhook,或者是否被 Discord 拒绝(例如因为 webhook 已被删除)。在你修正 URL 之前,提醒会暂停发送。如果你的网络或 Discord 出现故障,提醒会等待,并在连接恢复后发送。
需要避免的做法
- 不要把 Monitor 作为 Windows 服务运行,也不要把它设为“不管用户是否登录都要运行”的计划任务。否则它启动的机器人将没有你能看到或打开的窗口。请使用 Run at Windows startup。
- 让 Monitor 和机器人在同一个 Windows 用户下运行。 Monitor 看不到在其他 Windows 用户下运行的机器人,所以它会再启动同一份安装的第二个副本。
更新
Lords Bot 更新时,更新程序会关闭机器人和 Monitor,替换文件;如果 Monitor 之前在运行,还会再次启动 Monitor。之后由 Monitor 启动机器人。参见更新与测试版通道。
还是没解决?到 Discord 上问问我们的工作人员。