To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

Modules/pt

From ZNC
Jump to navigation Jump to search

Introdução

Os módulos são utilizados para extender a forma como o ZNC funciona. Os utilizadores interagem com os módulos mais habitualmente por envio de mensagens ao um utilizador especial no IRC. Por exemplo, para ver palavras-chave em realce o na sua lista de watch, você enviaria /msg *watch list. quando o ZNC vir que o nick ao qual está a mandar mensagem começa com um asterisco, não irá encaminhar a mensagem para o servidor de IRC mas em vez disso, envia-a para o módulo apropriado para processamento. Neste caso, o módulo watch irá receber a mensagem e responder para si com a listagem das suas palavras-chave. Isto torna muito conviniente e uma forma comum para configurar, isto é, comunicar com os seus módulos carregados, assim como uma forma comum para os seus módulos carregados de mostrarem o estado ou outra informação. Note que isto é para os módulos carregados. você tem de carregar um dado módulo, por exemplo /znc loadmod watch, antes de poder interagir com o módulo watch. A maioria dos módulos irão responder ao /msg *module help com uma listagem de comandos disponíveis.

Os módulos do ZNC são carregados globalmente, por-rede ou por-utilizador. Cada módulo define para ele próprio se está disponível para ser carregado como global, especifico-para-a-rede e/ou especifico-para-o-utilizador. Os módulos ao nível de utilizador e rede podem fazer coisas como manipular as mensagens de entrada/saída. Eles também podem fazer mais tarefas tradicionais do IRC como challenge based auto-op, defini-lo(a) como ausente ou registar logs para o disco. Cada utilizador pode carregar e configurar o seu conjunto de módulos para personalizar a sua experiência para satisfazer as suas preferências.

OS módulos globais são carregáveis por administradores e fornecem funcionalidade ou alteram o comportamento para todos os utilizadores. Por exemplo, o módulo partyline tem de ser global visto que ele fornece a funcionalidade para todos os utilizadores para uma dada instância do ZNC ser capaz de comunicarem ambos de dentro do próprio ZNC. Os módulos globais podem fazer tudo que os módulos do nível-de-utilizador podem fazer, tal como algumas coisas mais. Eles podem substituir o sistema de autenticação do ZNC, modificar o processo de escrita da configuração, lidar com o CAP, etc.

Os módulos podem tambem fixar-se ao interface web do ZNC e fornecer conteúdo da web. O módulo web mais comum é o webadmin que permite aos administradores adicionar/remover utilizadores e permite aos utilizadores configurarem as suas definições a partir de um navegador.

Programadores

OS módulos do ZNC estão escritos nativamente em C++. Existem também 2 módulos que se incorporam como interpretador para lhe permitir carregar módulos Perl, Python ou Tcl. Para saber mais sobre a criação, deve ler módulos Perl, módulos Python, módulos TCL ou módulos C++.

Sinta-se À vontade para criar páginas de wiki acerca de módulos que você criou mas não se esqueça de fornecer um link de transferência, informação de contacto e utilizar o mesmo layout como os restantes módulos. As contribuições serão muito bem apreciadas.

Lista de Módulos

Módulos Globais

adminlog
Regista as entradas, saídas e inicio de sessão falhadas para um ficheiro e/ou para o syslog.
blockuser
BloBloqueia certos utilizadores de utilizar o ZNC, dizendo que a conta deles foi desactivada.
certauth
Este m´doulo permite aos utilizadores iniciar sessão através de chaves de cliente SSL.
cyrusauth
Este módulo é para administradores que executam a servidor de shell/web/email/etc e querem fornecer acesso ZNC aos seus utilizadores existentes.
fail2ban
Bloqueia IPs por algum tempo após um inicio de sessão falhada.
identfile
Coloca a ident de um utilizador em ficheiro quando ele está a tentar ligar.
imapauth
Permite aos utilizadores autenticar-se utilizando IMAP.
lastseen
Regista quando foi o último inicio de sessão no ZNC.
modperl
Carrega scripts de Perl como módulos de ZNC.
modpython
Permite-lhe a si utilizar módulos escritos em Python.
notify_connect
Envia uma notificação para todos os administradores quando um utilizador inicia ou sai da sessão de ZNC.
partyline
Permite aos utilizadores de ZNC de juntarem-se a canais internos e fazer mensagens privadas a outros utilizadores de ZNC no mesmo ZNC.
webadmin
Permite-lhe a si adicionar/remover/editar utilizadores e definições imediatamente utilizando um navegador da web.

Módulos de Utilizador

admin
(Agora controlpanel) Permite-lhe adicionar/remover/editar utilizadores e definições imediatamente utilizando mensagens de IRC.
autoattach
Observa os seus canais desunidos e une-o(a) automaticamente quando existe actividade especifica num canal que adicionou na lista de autoattach.
autoreply
Fornece uma resposta automática se alguém enviar-lhe uma mensagem enquanto você estiver ausente.
block_motd
Bloqueia a Message of the Day (Mensagem do Dia) do servidor.
bouncedcc
Redirecciona as transferências de DCC através do servidor de ZNC em vez de as enviar directamente ao utilizador.
buffextras
Adiciona alterações de nick, entradas, partidas, alterações de tópico etc. à sua reprodução de buffer.
chansaver
Guarda canais para para o config quando o utilizador entra ou parte.
charset
Normaliza (ex. converte) codificação de caracteres.
clearbufferonmsg
Este módulo tenta fazer a ponte em cima do vazio com buffer antigo se tiver KeepBuffer=true; e possivelmente mensagens em falta quando falhou o ping, se tiver KeepBuffer=false.
clientnotify
Notifica acerca das ligações a chegar ao seu utilizador.
controlpanel
Permite-lhe a si adicionar/remover/editar utilizadores e definições imediatamente utilizando mensagens de IRC.
ctcpflood
Este módulo tenta bloquear flood de CTCP.
dcc
Este módulo permite-lhe transferir ficheiros para e do ZNC.
disconkick
Este módulo irá chutá-lo o cliente de todos os canais se o ZNC se desligar do servidor.
flooddetach
Este módulo desune-o(a) dos canais que estão com flood.
listsockets
Este módulo mostra uma lista de todos os sockets abertos no ZNC.
log
Regista a actividade do chat para ficheiro.
missingmotd
Este módulo de utilizador irá enviar 422 para os clientes quando eles iniciarem a sessão.
notes
Mantém e reproduz notas. Isto é um exemplo de WebMods.
sample
Isto é um módulo de exemplo para ajudar com writing modules para fazer o que quiser.
send_raw
Permite-lhe a si enviar tráfego raw para o IRC de outros utilizadores.
shell
Aceda à sua shell Unix através de mensagem privada mesmo dentro do seu cliente de IRC.

Módulos de Rede

autocycle
Fazer entrar outra vez num canal quando é o(a) único(a) la (para ganhar status de operador).
autoop
Automaticamente dá status de operador às pessoas boas.
modtcl
Permite-lhe a si executar script Tcl no ZNC.
autovoice
Automaticamente dá status de voice a toda a gente que nalgum canal.
awaynick
Altera o seu nick enquanto estiver ausente.
awaystore
Quando estiver definido(a) como ausente ou desunido, este módulo irá guardar todas as mensagens privadas para si. As mensagens pode ser lidas até que as apague. Este módulo irá também defini-lo(a) como ausente quando não estiver a fazer nada por algum tempo.
cert
Este módulo deixa os utilizadores os seus próprios certificados SSL para ligar a um servidor.
crypt
Encriptação para as mensagens de canal e mensagens privadas.
keepnick
Tenta obter e manter o seu nick principal se for tirado.
kickrejoin
Implementa auto-rejoin-on-kick (automaticamente entrar no canal onde foi chutado(a) por um utilizador/bot de IRC).
modules_online
Falseia o estado online de módulos de ZNC para consertar alguns clientes.
nickserv
Autentica-o(a) com o NickServ.
perform
Executa comandos ao ligar ao IRC.
q
Autentica-o(a) com o Q (e um pouco mais).
raw
Visualizar todo o tráfego raw.
route_replies
Devolve de volta respostas para o cliente certo quando estão 2 ou mais clientes ligados.
sasl
Permite-lhe a si autenticar a uma rede de IRC utilizando SASL
savebuff
Guarda o buffer de canal para um ficheiro encriptado para que eles possam sobreviver a reinicios.
schat
Chat DCC com SSL (encriptado).
simple_away
Automaticamente define-o(a) como ausente no IRC quando desligado do bouncer.
stickychan
Mantém-o(a) em canais específicos.
watch
Monitoriza a actividade por padrões específicos de texto de utilizadores específicos e ter o texto mantido para uma janela específica de mensagem privada.

Mais Módulos

Para mais módulos, veja Category:Modules.

Gerir Módulos

Os módulos podem ser adicionados ou recuperados facilmente. Os módulos podem ser guardados em ~/.znc/modules and /usr/local/lib/znc por defeito. O ZNC instala os seus módulos para esse segundo directório que é de facto ${prefix}/lib/znc, mas isto pode ser alterado com ./configure --module-prefix=DIR antes de compilar.

O ZNC irá primeiro procurar no sub-directório local modules quando procurar por módulos. Apenas os ficheiros que terminarem com ".so" irão ser vistos como um módulo. Para remover módulos, pode simplesmente eliminá-los a partir da pasta. Nenhuma outra alteração ou reinício de configuração será necessária. Para remover e também manter um módulo para ser usado mais tarde, pode também alterar o nome, como: mv sample.so sample.so_.

Para compilar um novo módulo, tem de primeiro guardar a source com um ficheiro ".cpp". Compilar módulos descreve o processo em detalhe.

(Des)carregar Módulos

Os módulos globais, de utilizador e de rede podem ser (des)carregados a partir do webadmin ou a partir da janela de mensagem privada *status, tipo:

/msg *status LoadMod [--type=global|user|network] <módulo> <parâmetros>
/msg *status UnloadMod [--type=global|user|network] <módulo>
  • * é o StatusPrefix definido na sua configuração. Normalmente é apenas um asterisco ("*").
  • [--type=global|user|network] opcionalmente especofoca se (des)carrega o módulo como um módulo global, de utilizador ou de rede. Nem todos os módulos podem ser carregados a todos os niveis; veja a Documentação do módulo individual para saber mais onde ele pode ser carregado.
  • <módulo> é baseado no nome do ficheiro do módulo, tirando a extensão ".so".
  • <parâmetros> são específicos para cada módulo e não necessário: Pode fornecer parâmetros quando carregar o módulo ou pode definir ou configurar o módulo depois de o carregar.

Então, para carregar o módulo log ao nível global (em vez de nível de utilizador ou de rede) e remover todos os códigos de controlo de cores/formatações com o parâmetro -sanitize, você digitaria:

/msg *status LoadMod --type=global log -sanitize

Para as versões antigas do ZNC, não irá ter a opção para especificar [--type=global|user|network]. Neste caso, apenas utilize:

/msg *status LoadMod <módulo> <parâmetros>
/msg *status UnloadMod <módulo>

Por favor, fixe na sua cabeça que um utilizador não é capaz de carregar um módulo se a directiva "DenyLoadMod" estiver definida como true. Tentar carregar irá falhar com a mensagem "Não foi possível carregar [<módulo>] Acesso Negado.".

Se um módulo impedir o ZNC de iniciar e por conseguinte não poder descarregar o módulo utilizando o webadmin, pode editar a linha znc.conf e remover o correspondente LoadModule.

Utilizar Módulos

É recomendado ler o wiki do módulo se quiser saber mais sobre como um módulo funciona. Alternativamente, o comando seguinte pode ser utilizado para obter uma lista de comandos:

/msg *<módulo> help
  • * é o StatusPrefix definido na sua configuração. Normalmente é apenas um asterisco ("*").

Módulos Externos

Por favor, veja Módulos Externos para uma lista completa.