2

На ZNC есть команда WATCH (не модуль watch ), которая используется в качестве наблюдения на стороне сервера. Он автоматически добавляет людей, которых я написал в PM, и уведомляет меня, когда они приходят / отключаются, что довольно раздражает. Я знаю, что могу сделать WATCH -nick чтобы удалить ник, но я не хочу делать это все время, чтобы удалить каждый ник, который он автоматически добавляет. Есть ли способ отключить эту команду WATCH все вместе?

РЕДАКТИРОВАТЬ: Единственный фактический доступ к ZNC у меня есть через интерфейс веб-администрирования. И я не администратор, только обычный пользователь, на сервере.

2 ответа2

1

Читая другие ответы / комментарии, я понимаю, что выполнение этой серверной части не произойдет [легко] ...

Так что ... как на стороне клиента?

Это очевидно зависит от вашего клиента, но вы можете игнорировать их оттуда?

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, вы можете:

  1. Выгрузите модуль Watch, который предположительно делает команду WATCH недоступной
  2. Измените строку "WATCH" в источнике на что-то другое и пересоберите
  3. Используйте бесплатный шестнадцатеричный редактор, чтобы найти в двоичном коде строку "WATCH" (без кавычек) и изменить ее, сохранив то же общее количество символов, например, "VATCH".

Поскольку я не использую ZNC, я не могу измерить влияние разгрузки модуля Watch на его нормальное функционирование. Два других решения необходимо будет повторять для каждого нового выпуска ZNC.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .