В чем разница между командами Chanserv и /mode в irc (freenode)

Я немного сбит с толку, несмотря на то, что я использую IRC в течение последних 5 лет, есть бот ChanServ, и вы можете выполнять операции (изменения ACL), используя его, например, если вы хотите присвоить статус основателя для пользователя, которого вы выполняете /msg ChanServ #channel-foo-bar <nick> +F но зачем говорить, что если мы хотим кого-то забанить, то используем ChanServ и устанавливаем +b на человека, но меня беспокоит, почему, если мы хотим установить спокойствие для человека (который +q) мы должны бежать /mode #channel-foo-bar <nick> +q, Я думаю, что ChanServ используется для управления битами ACL на человека и /mode используется для установки опций для каждого канала, но, похоже, я был неправ, почему, скажем, мы не можем установить +q флаг с помощью ChanServ?

1 ответ

Решение

Ну, и тихие и запреты фактически устанавливаются через /mode (/mode +q а также /mode +b соответственно). "Предоставление" кому-либо флага + b через ChanServ просто говорит ему установить режим + b всякий раз, когда забаненный человек возвращается (а также выбивать его из канала).

Основное различие между использованием /mode +b и флаги ChanServ в том, что последние постоянно хранятся (см. полное объяснение ниже).

В качестве дополнительной функции ChanServ позволяет вам ставить заметки и время истечения срока действия запретов. Хотя это не доступно через flags, но вы можете получить доступ к этой функции через /msg chanserv akick, Операторы каналов часто находят полезным узнать, почему кого-то забанили и на какой срок - без необходимости хранить общий Google-документ для этого.


Предыстория: большинство сетей IRC не имеют какого-либо постоянного хранилища. У них нет пользовательских учетных записей. Все каналы являются временными, их режимы и списки банов хранятся в памяти только до тех пор, пока на канале есть люди. Если вы получаете оп-статус, он действует только в то время, когда вы находитесь в канале - если вы уходите или отключаетесь, кому-то понадобится снова / оп. Если сервер перезагружается, он повторно синхронизируется с нуля. Если вся сеть перезагружается, все состояние теряется. (Как это случилось с EFnet в конце 2012 года.)

(Есть исключения, но это обычный случай.)

Сервисные боты (ChanServ) предоставляют это хранилище в совершенно отдельной программе, действуя очень похоже на традиционного "бота" или просто скриптового клиента. Все флаги, которые вы устанавливаете в ChanServ, на самом деле не влияют на сеть напрямую - они просто говорят ChanServ установить некоторые / режимы от вашего имени. (Если вы оператор канала, вы, конечно, можете установить эти / режимы самостоятельно, они будут только временными.)

Поэтому, когда у вас есть флаги +o или +F на freenode, это не меняет ваш прямой доступ к каналу; это дает вам косвенный доступ через ChanServ. Флаг +o - это ACL, который позволяет запрашивать у ChanServ /mode +o на себя. Флаг +F - это ACL, который позволяет передавать флаги /ACL другим.


Почему у ChanServ нет флага +q, чтобы отключить звук пользователей? Ну, это может, но никто еще не реализовал это.

Один из аргументов заключается в том, что приглушения часто бывают временными и их не нужно хранить в ChanServ, в то время как полные запреты часто являются постоянными и лучше используют постоянное хранилище.

Другая причина заключается в том, что сервисное программное обеспечение написано для работы с несколькими различными типами IRC-серверов и манипулирования всеми их пользовательскими расширениями. Только полные запреты являются стандартной частью IRC - хотя у freenode есть немые (тихие) как +q режим, это нестандартное дополнение.

Другие IRC-серверы имеют разные расширения. Например, гораздо более распространенное значение +q является статусом "владельца канала" - это не означает владельца в стиле ChanServ, но на самом деле это обычный доступ к chanop с некоторыми бонусами. Вы можете увидеть это на Foonetic или Rizon; вместо просто "оп / голос /поденщик обычный "у вас есть" владелец / администратор / оп / halfop / голос / нормальный ". (Приглушенные / тихие, конечно, должны использовать другую букву.)

Итак, основная причина, по которой ChanServ от freenode не имеет +q Флаг для отключения звука состоит в том, что он уже использует тот же флаг для реализации уровня "владельца" в этих других типах сети.

(Было много случаев, когда сеть переключала свое базовое серверное программное обеспечение, но сохраняла одно и то же сервисное программное обеспечение и базу данных учетных записей. Когда это происходит, вам, безусловно, не нужно, чтобы сервисы конвертировали все предыдущие записи "+q (владелец канала)" в Записи "+q (без звука)"...)

Другие вопросы по тегам