在 ZNC 上,有一个WATCH
命令(不是watch
模块)用作服务器端监视列表。它会自动添加我私信过的人,并在他们上线/下线时通知我,这很烦人。我知道我可以WATCH -nick
删除昵称,但我不想一直这样做以删除它自动添加的每个昵称。有没有办法完全禁用这个WATCH
命令?
编辑:我实际访问 ZNC 的唯一途径是通过 Web 管理界面。而且我不是管理员,只是服务器上的普通用户。
答案1
由于ZNC是开源的,因此我下载并分析了它。
供您参考,WATCH 命令由源文件中的 Watch 模块处理(令人惊讶)modules\watch.cpp
。在文件的第 240 行,您将找到以下内容:
virtual void OnModCommand(const CString& sCommand) {
CString sCmdName = sCommand.Token(0);
if (sCmdName.Equals("ADD") || sCmdName.Equals("WATCH")) {
Watch(sCommand.Token(1), sCommand.Token(2), sCommand.Token(3, true));
要使 WATCH 命令无效,您可以:
- 卸载 Watch 模块,这会使 WATCH 命令无法访问
- 将源中的字符串“WATCH”更改为其他内容并重新编译
- 用一个免费十六进制编辑器在二进制文件中搜索字符串“WATCH”(不带引号)并进行更改,同时保持相同的字符总数,例如更改为“VATCH”。
由于我不使用 ZNC,因此无法衡量卸载 Watch 模块对其正常运行的影响。其他两种解决方案需要在每个新版本的 ZNC 中重复执行。
答案2
阅读其他答案/评论后,我发现在服务器端执行此操作不会轻易发生......
那么...客户端怎么样?
这显然取决于您的客户,但您可以从那里忽略他们吗?