Bem, as proibições e de quiets são definidas no modo / ( /mode +q
e /mode +b
respectivamente). "Conceder" a bandeira + b através do ChanServ apenas diz para definir o modo + b sempre que a pessoa banida retorna (assim como chutá-la do canal).
A principal diferença entre usar /mode +b
e os flags do ChanServ é que os últimos são armazenados permanentemente (veja a explicação completa abaixo).
Como um recurso extra, o ChanServ permite que você coloque notas e tempos de expiração nas proibições. Embora isso não esteja disponível em flags
, mas você pode acessar esse recurso por meio de /msg chanserv akick
. Os operadores de canal geralmente acham útil saber por que alguém foi banido e por quanto tempo, sem ter que manter um google-doc compartilhado para isso.
Histórico: a maioria das redes de IRC não tem nenhum tipo de armazenamento persistente. Elas não têm contas de usuário. Todos os canais são transitórios, seus modos e listas de proibições são mantidos na memória apenas enquanto o canal tiver pessoas nela. Se você obtiver status de op, isso só dura enquanto você estiver no canal - se você sair ou se desconectar, alguém precisará / voltar a operar. Se um servidor for reinicializado, ele será ressincronizado de zero. Se toda a rede for reinicializada, todo o estado será perdido. (Como aconteceu com a EFnet no final de 2012).
(Há exceções, mas este é o caso usual.)
Os bots de serviços (ChanServ) fornecem esse armazenamento em um programa completamente separado, agindo muito como um 'bot' tradicional ou apenas um cliente com script. Todas as bandeiras que você definiu no ChanServ não afetam diretamente a rede - elas apenas dizem ao ChanServ para definir alguns / modos em nome de você. (Se você é um operador de canal, certamente pode definir esses / modos por si mesmo, eles serão apenas temporários.)
Então, quando você tem sinalizadores + o ou + F no freenode, isso não altera seu acesso direto ao canal; Isso lhe dá acesso indireto através do ChanServ. O sinalizador + o é uma ACL que permite perguntar ao ChanServ por um /mode +o
em você mesmo. O sinalizador + F é uma ACL que permite atribuir flags / ACLs a outras pessoas.
Por que o não ChanServ tem um sinalizador + q para silenciar os usuários? Bem, isso poderia mas ninguém implementou isso ainda.
Um dos argumentos é que os mutes são geralmente temporários e não precisam ser armazenados no ChanServ, enquanto as proibições completas são freqüentemente permanentes e fazem melhor uso do armazenamento persistente.
Outra razão é que o software de serviços é escrito para trabalhar com vários tipos diferentes de servidores de IRC e manipular todas as suas extensões personalizadas. Apenas as proibições completas são uma parte padrão do IRC - embora o freenode tenha silenciamentos (quiets) como o modo +q
, que é uma adição não padrão.
Outros servidores de IRC têm extensões diferentes. Por exemplo, um significado muito mais comum de +q
é o status de "dono do canal" - o que não significa o dono do estilo ChanServ, mas sim o acesso regular do canal com alguns bônus. Você pode ver isso em Foonetic ou Rizon; em vez de apenas "op / voz / peon normal" você tem "proprietário / admin / op / halfop / voz / normal". (Mutes / quiets, claro, deve usar uma letra diferente.)
Portanto, a principal razão pela qual o ChanServ do freenode não possui um sinalizador +q
para muting é que ele já usa o mesmo sinalizador para implementar o nível de 'proprietário' nos outros tipos de rede.
(Houve muitos casos de uma rede trocando seu software de servidor base, mas mantendo o mesmo software de serviços e banco de dados de conta. Quando isso acontece, você certamente não deseja que os serviços convertam todos os "+ q" anteriores "entradas em" + q (mudo) "entradas ...)