NovaBot
GitHub

第 12 章 设置页怎么用

设置页管着 NovaBot 几乎所有能调的东西,项目多,但你不需要一项项看过去。 它按「你要办的事」分组,平常会动的摆在外面,不常动的工程参数收在「高级」里;不知道在哪一组就直接搜。 需要重启的项会提醒,其他项保存后立即生效。

页面怎么排

从侧栏点「设置」进去。左边是分组菜单(窗口窄时挪到页面顶上),桌面和手机上点哪一组就只显示哪一组,再点同一组恢复全部。手机上各配置组默认收起,只显示组名与「改过 N 项」,点组名展开:

组管什么
界面控制台用深色、浅色还是跟随系统,用哪套配色
推送什么时候发、发多少:静音时段、@全体成员 上限等
告警出了事谁先知道(见第 10 章)
命令与权限群里谁能管命令、超级管理员是谁
采集从直播平台拿数据的方式、数据存到哪
报告外观报告图与动态图上的东西
登录与安全控制台自己怎么被访问:密码、二次验证、通行密钥

设置页还有「成员」一块,管理员在这里授权成员、指定主播,见第 15 章 成员:让主播和公会运营自己管理。

名字后面带「(全实例)」的几项——「动态屏蔽词(全实例)」「词云屏蔽词(全实例)」「词云排除的用户(全实例)」—— 管所有主播。每位主播还可以在推送页的「这位主播自己的屏蔽名单」另加自己的一份,标签下方整行填写。 这里的词和设置页的全局词一起生效, 见第 6 章与第 9 章。

常用与高级

每一组里平常会动的项直接摆着;不常动的工程参数(重试间隔、线程数、文件放在哪这类)收在「高级」里, 默认不显示。点左边分组菜单最底下的「高级选项」(旁边的眼睛图标收着时带一道斜杠),高级部分接在常用各组下面出来, 菜单里也多出「高级」那一段,眼睛变成睁开的;再点一下收回去。页头右边写着「常用 N 项 · 高级 M 项」。

高级里有「日志与调试」「服务」两整组,还有从别的组里拆出来的「采集 · 高级」「登录与安全 · 高级」这类, 出问题时才需要动。高级打开后,左边菜单的「高级」下面列着它们,点哪一组就只显示哪一组;高级收着时这一段也跟着收起。

每一项一行,写着名字和当前的值。多数项的名字下面还有一行字:有的是一句短说明,写改之前就该知道的事 (比如「0 表示关闭」);有的照旧是整段说明;名字和单位已经说清楚的项,下面就不再写。 名字旁边有个 ? 的,点它(或用键盘移到它上面)能看到完整说明,按 Esc 或点别处关上。 名字旁边还有几个小标记:

  • 重启生效:保存后还需要重启。其他项不挂生效标记,保存后立即起作用。一组全都要重启的,组标题上写一句「本组设置修改后均需重启生效」,不再逐项标
  • 已修改:这一项跟出厂默认值不一样
  • ⚠:改错了后果不小的项。改到危险的那一档时会先弹窗问一句,点取消就退回原值

改过的项下面有一行「默认:…」,点「恢复默认」就改回出厂值。密码一类的项没有这个按钮。

组内按「总开关、主参数、细节」排列;静音时段先开始后结束,Redis 先地址、端口,再密码和数据库编号。数字框的右侧写着单位,框的宽度一致。只能在配置文件里修改的复杂项放在高级区。

几种特别的格子:

  • 静音时段的开始、结束是时间框,直接选几点几分;旁边的「清空」把它清掉,两项有一项空着就是不设静音。配置文件里要是手写过时间框认不出的写法(比如 8:00 没补零),框会是空的,下面写一句「配置文件中的值「8:00」格式无效……当前不生效」——不是本来就没设,是写法不对,重新选一次再保存就好
  • 扫码登录方式从 tv 和 web 中选择,保存的仍是这两个值
  • 文件位置(凭据文件、图标图片这类)用等宽字显示,l 和 1、O 和 0 好认
  • 告警组里的 QQ、Webhook、邮件几张卡默认收着,只露出名字和「已配置/未配置」;点标题展开。三张卡均为左侧说明、右侧控件,窄屏时上下排列。从首页「告警存在盲区」那条点「前往配置」过来时,卡会自动展开;之前在设置页搜过的词与「仅显示已修改项」会先清掉,免得要去的那一组被旧搜索藏住

设置页在分组菜单里点了「推送」(示例数据):右边只显示推送这一组,组标题旁写着改过 2 项;@全体成员的两项上限和「次数用完后改发群待办」标着重启生效,静音时段两项标着已修改;当前版本只标需要重启的项

找一项设置:搜

页顶的搜索框写着「搜索设置项,例如:静音」。输入的字会拿去比对每一项的名字、说明和配置键, 不分大小写。没有命中的组整组藏起来,菜单里也跟着藏;命中的项在收起的高级里时, 高级会自动出来,收起的组也会展开,命中告警卡里的内容时那张卡也会展开。搜索与「仅显示已修改项」会检查所有组;清掉筛选后,配置组恢复筛选前的收放。旁边会写「匹配 N 项」。 不想看高级里的命中,点菜单最底下的「高级选项」把它收起,这次搜索就不再自动打开它,换个搜索词再重新算。

搜索框旁边还有两个开关:

  • 仅显示已修改项:只留跟默认值不一样的项,想知道「我到底改过什么」时用
  • 显示键名:在每项下面显示它在配置文件里的键名,要对着配置文件找时用

改完怎么保存

改了任何一项,页面底部会出现一条栏,写着「N 处改动 · 其中 M 处需重启生效」, 右边是「放弃」和「保存」:

  • 保存:保存前会先检查填得对不对,有问题会列出「请先修正以下问题:」,一条都不存
  • 放弃:会先问一句,确认后所有没保存的改动回到上次保存时的样子

保存后,没有重启标记的项当场起作用;标「重启生效」的要等程序重启。 这时底栏会一直留着「N 处改动需重启生效」,提醒你还没重启。控制台上没有重启按钮, 按你装它的方式重启程序即可,比如用 Linux 一键安装的,在服务器上执行:

sudo systemctl restart novabot@<版本>

改完又后悔了、把值改回程序启动时的原样再保存,这一项的「需重启」提醒就消失—— 重启后读到的跟现在一样,没什么要生效的了。这有一条前提:程序启动时,这一项 已经写在配置文件里。启动时文件里没写、一直用默认值的那项,改出去再改回默认值, 提醒不会消失,会一直留到重启;那一次重启其实什么都没变,重启后提醒自然收起。

每次保存,时间线上都会记一条「设置即时生效」或「设置待重启」(见第 11 章)。

改动存到了哪

存进安装目录根上的配置文件 application.yml(一键安装的机器程序在 releases/<版本>/ 下,配置不在那里)。只改动过的那几行, 你在文件里手写的注释、空行和顺序都会留着。

每次保存前自动备份一份原文件,文件名后面带上保存时刻,默认留最近 10 份 (设置项「备份保留份数」)。控制台上没有「回滚」按钮,要退回某一份, 到服务器上把那份备份改回原名,再重启。

页面最底下写着配置文件的完整路径,点一下就复制。少数结构复杂的项界面上改不了, 会写明「请在服务器上修改配置文件」,改完同样要重启。

换深色、浅色

「界面」组里「明暗」那一排有三个按钮:「跟随系统」「浅色」「深色」,点了马上变,不用保存。 这个选择只记在当前浏览器里,不进配置文件,换台电脑或换个浏览器要再选一次; 反过来,手机上手动设成深色、电脑上跟着系统走,两边互不覆盖。 同一个浏览器开着几个控制台标签时,一边换了,别的标签跟着换,正在填的内容不受影响。

换配色

「界面」组里「明暗」下面是「配色」那一排:「经典」「粉蓝」「暖阳」,每个按钮前面有一小块色样。 点了马上变,不用保存。三套配色都有浅色和深色,换配色不改上面选的明暗,换明暗也不改配色。

  • 没选过配色时用的是粉蓝,从旧版本升级上来的也一样。
  • 想要升级前那套紫色的样子,选「经典」。
  • 登录页、NapCat 的进入页跟着这里选的配色走;产品图标的紫色渐变不随配色变。

和明暗一样,配色只记在当前浏览器里,换台电脑或换个浏览器要再选一次, 几个控制台标签之间一边换了别的跟着换。

登录与安全

这一组管控制台自己的门锁。这里的每一项都是点按钮当场办完,不经过底栏的「保存」。

还没设过密码时,这一组只写一句 「本机尚未设置控制台密码,因此不显示登录页,打开即进入控制台。如需设置密码,请在设置引导中完成第 1 步。」 下面只剩「使用协议」一张卡——先去把锁装上(见第 4 章)。

「登录与安全」组(示例数据):二次验证已启用,通行密钥登记了一台设备

改密码

  1. 在「密码」那一行点「修改密码」
  2. 填「当前密码」「新密码」「确认新密码」,新密码至少 8 个字符
  3. 确认后当场生效

改完之后,别的设备上已经登录的都会被注销,你正在用的这一个留着。 所以怀疑密码泄露时,改一次密码就等于把别人都踢了出去。

这里填的是控制台的密码,不是机器人程序(比如 NapCat)界面的口令。

二次验证

开了之后,用密码登录时还要再填一个手机验证器应用上的 6 位数字。

程序需要读写主配置文件旁的 <主配置文件名>.totp-state 及其所在目录,默认文件名是 application.yml.totp-state。文件由程序自动创建和更新,无需手工编辑;重启、换版时保留, 备份与恢复时和主配置文件一起处理。未启用二次验证时无需准备这个文件。

单独挂载配置文件或使用只读目录的部署,请为这个文件及其所在目录提供可写的持久化存储。 文件属主应为运行程序的用户,权限为 600,程序每次更新时会设为此权限。 程序读写不了这个文件时,会在日志与终端里提示处理方法(网页上只在管理员的「工程日志」页看得到), 内容为空或不完整时,停服务并从备份恢复此文件后再启动;权限无法设置时,调整文件属主和存储权限后重试。

服务器时钟往回校正过之后,可能有一段时间用验证器登录不上。日志与终端会说明大约要等多久, 到点后照常登录;急需进入时,按附录 C里 「验证器丢了」的办法用启动令牌进入。

这两类提示按错误级别输出:novabot.core.log.console、novabot.core.log.file 设为 ERROR 时照样看得到, 设为 OFF 时看不到。 启动令牌的地址按 INFO 级别输出;急用时若日志只看错误或已关闭,先把 novabot.core.log.console 或 novabot.core.log.file 临时改为 INFO 后重启, 用完将日志设置改回原值,并把 novabot.core.config-ui.auth.operator-token 改回 false。 上述两类提示合计每次启动最多一条、运行期间最多一条,同类提示不重复输出。

打开:

  1. 把「二次验证」的开关拨到开
  2. 用任意验证器应用扫出现的二维码;不方便扫码的,照着旁边那串密钥手动输入
  3. 填「当前密码」和验证器给出的「6 位数字」,点「确认启用」

中途点「取消」就退回原样,什么都不变。

关闭:把开关拨到关,同样填「当前密码」和验证器此刻的「6 位数字」,点「确认关闭」。 关掉后那把密钥一并清掉,验证器里那一条可以删了;以后再开要重新扫码。

二次验证只管用密码登录这一条路。用通行密钥登录不经过它。

通行密钥

登记之后,登录时按一下指纹或面容就进来了,不用输密码。

  1. 在要登记的那台设备上打开控制台,到「通行密钥」那一行点「登记当前设备」
  2. 先输一次「当前密码」,证明是你本人
  3. 按浏览器或系统的提示,用指纹、面容或设备密码确认

登记过的会列在下面,写着名字、登记时间、上次使用时间;不再用的点「删除」, 删了以后那台设备就只能用密码进。手机上每把通行密钥显示为一张卡,删除按钮在卡片底部。

说明通行密钥认的是你打开控制台用的地址。换了地址(比如从局域网地址换成域名)
要重新登记,旧的那把在新地址上用不了。

密码登录页展开「其他登录方式」后,密码区单独成块,区内的「登录」为主按钮;填完密码按回车即可提交。

退出登录

侧栏最底下是「退出登录」,只退当前这个浏览器(手机上在页面右上角的「我的」里)。

要把所有设备上的登录一起退掉(比如在别人的电脑上登过、忘了退),点「退出全部设备」, 它会连你当前这一个也一起注销。

输错太多次会被锁

同一个来源连续输错 5 次,这个来源会被锁 15 分钟(两次输错隔了 15 分钟以上,就从头数)。 锁的那一刻错误次数清零,解锁后要再连续输错满 5 次才会再锁;每多锁一次,锁的时间翻一倍(15 分钟、30 分钟、1 小时……),最长锁 6 小时。 锁着的时候即使输对了也进不去,登录页会写还要等多久。

这不代表密码错了,别急着去改密码,等到点再试。锁的是来源,所以通行密钥那条路在锁定期间也一样进不去。

其他几项

  • 设置引导:这一行点「打开设置引导」,从第 1 步起再走一遍那五步,已经配好的东西不会被清掉;步骤上的勾表示已有配置,并不代表这一次重新验证过。已登录的步骤显示当前账号并提供「换账号」,已有主播的步骤先列出名单;点「再加一个」查询新主播、选择推送目标,再点底部「下一步」保存,返回这一步可看到更新后的名单
  • 使用协议:点「查看全文」在弹窗里看全文;「撤回同意」在设置页最底下单独的「危险操作」一块里,点了会先问一句

连接页机器人表单按 HTTP、WS 分行,各自的端口与 Token 放在一起;与设置引导使用相同排布。

要给外部面板发只读访问令牌,不在这一组,在「连接」页的「外部面板」卡片上点「签发令牌」, 同样要再输一次当前密码。

接下来

后面两章讲升级与备份、遇到问题怎么排查:第 13 章 升级与备份。