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: Difference between revisions
KashinKoji (talk | contribs) Created page with "{{Languages|Módulos}} == 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 ser..." |
KashinKoji (talk | contribs) No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
== Introdução == | == Introdução == | ||
Os ''' | 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 [[crypt|manipular as mensagens de entrada/saída]]. Eles também podem fazer mais tarefas tradicionais do IRC como [[autoop|challenge based auto-op]], [[simple_away|defini-lo(a) como ausente]] ou [[log|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 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 [[crypt|manipular as mensagens de entrada/saída]]. Eles também podem fazer mais tarefas tradicionais do IRC como [[autoop|challenge based auto-op]], [[simple_away|defini-lo(a) como ausente]] ou [[log|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. | ||
Line 17: | Line 17: | ||
== Lista de Módulos == | == Lista de Módulos == | ||
=== Módulos Globais === | === Módulos Globais === | ||
; [[adminlog]] : | ; [[adminlog]] : Regista as entradas, saídas e inicio de sessão falhadas para um ficheiro e/ou para o syslog. | ||
; [[blockuser]] : | ; [[blockuser]] : BloBloqueia certos utilizadores de utilizar o ZNC, dizendo que a conta deles foi desactivada. | ||
; [[certauth]] : | ; [[certauth]] : Este m´doulo permite aos utilizadores iniciar sessão através de chaves de cliente SSL. | ||
; [[cyrusauth]] : | ; [[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]] : | ; [[fail2ban]] : Bloqueia IPs por algum tempo após um inicio de sessão falhada. | ||
; [[identfile]] : | ; [[identfile]] : Coloca a ident de um utilizador em ficheiro quando ele está a tentar ligar. | ||
; [[imapauth]] : | ; [[imapauth]] : Permite aos utilizadores autenticar-se utilizando IMAP. | ||
; [[lastseen]] : | ; [[lastseen]] : Regista quando foi o último inicio de sessão no ZNC. | ||
; [[modperl]] | ; [[modperl]] : Carrega scripts de Perl como módulos de ZNC. | ||
; [[modpython]] : | ; [[modpython]] : Permite-lhe a si utilizar módulos escritos em Python. | ||
; [[notify_connect]] : | ; [[notify_connect]] : Envia uma notificação para todos os administradores quando um utilizador inicia ou sai da sessão de ZNC. | ||
; [[partyline]] : | ; [[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]] : | ; [[webadmin]] : Permite-lhe a si adicionar/remover/editar utilizadores e definições imediatamente utilizando um navegador da web. | ||
=== | === Módulos de Utilizador === | ||
; [[controlpanel|admin]] : ( | ; [[controlpanel|admin]] : (Agora [[controlpanel]]) Permite-lhe adicionar/remover/editar utilizadores e definições imediatamente utilizando mensagens de IRC. | ||
; [[autoattach]] : | ; [[autoattach]] : Observa os seus canais [[Detaching|desunidos]] e une-o(a) automaticamente quando existe actividade especifica num canal que adicionou na lista de autoattach. | ||
; [[autoreply]] : | ; [[autoreply]] : Fornece uma resposta automática se alguém enviar-lhe uma mensagem enquanto você estiver ausente. | ||
; [[block_motd]] : | ; [[block_motd]] : Bloqueia a Message of the Day (Mensagem do Dia) do servidor. | ||
; [[bouncedcc]] : | ; [[bouncedcc]] : Redirecciona as transferências de DCC através do servidor de ZNC em vez de as enviar directamente ao utilizador. | ||
; [[buffextras]] : | ; [[buffextras]] : Adiciona alterações de nick, entradas, partidas, alterações de tópico etc. à sua reprodução de buffer. | ||
; [[chansaver]] : | ; [[chansaver]] : Guarda canais para para o config quando o utilizador entra ou parte. | ||
; [[charset]] : | ; [[charset]] : Normaliza (ex. converte) codificação de caracteres. | ||
; [[clearbufferonmsg]] : | ; [[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]] : | ; [[clientnotify]] : Notifica acerca das ligações a chegar ao seu utilizador. | ||
; [[controlpanel]] : | ; [[controlpanel]] : Permite-lhe a si adicionar/remover/editar utilizadores e definições imediatamente utilizando mensagens de IRC. | ||
; [[ctcpflood]] : | ; [[ctcpflood]] : Este módulo tenta bloquear flood de CTCP. | ||
; [[dcc]] : | ; [[dcc]] : Este módulo permite-lhe transferir ficheiros para e do ZNC. | ||
; [[disconkick]] : | ; [[disconkick]] : Este módulo irá chutá-lo o cliente de todos os canais se o ZNC se desligar do servidor. | ||
; [[flooddetach]] : | ; [[flooddetach]] : Este módulo desune-o(a) dos canais que estão com flood. | ||
; [[listsockets]] : | ; [[listsockets]] : Este módulo mostra uma lista de todos os sockets abertos no ZNC. | ||
; [[log]] : | ; [[log]] : Regista a actividade do chat para ficheiro. | ||
; [[missingmotd]] : | ; [[missingmotd]] : Este módulo de utilizador irá enviar 422 para os clientes quando eles iniciarem a sessão. | ||
; [[notes]] : | ; [[notes]] : Mantém e reproduz notas. Isto é um exemplo de [[WebMods]]. | ||
; [[sample]] : | ; [[sample]] : Isto é um módulo de exemplo para ajudar com [[writing modules]] para fazer o que quiser. | ||
; [[send_raw]] : | ; [[send_raw]] : Permite-lhe a si enviar tráfego raw para o IRC de outros utilizadores. | ||
; [[shell]] : | ; [[shell]] : Aceda à sua shell Unix através de mensagem privada mesmo dentro do seu cliente de IRC. | ||
=== | === Módulos de Rede === | ||
; [[autocycle]] : | ; [[autocycle]] : Fazer entrar outra vez num canal quando é o(a) único(a) la (para ganhar status de operador). | ||
; [[autoop]] : | ; [[autoop]] : Automaticamente dá status de operador às pessoas boas. | ||
; [[modtcl]] : | ; [[modtcl]] : Permite-lhe a si executar script Tcl no ZNC. | ||
; [[autovoice]] : | ; [[autovoice]] : Automaticamente dá status de voice a toda a gente que nalgum canal. | ||
; [[awaynick]] : | ; [[awaynick]] : Altera o seu nick enquanto estiver ausente. | ||
; [[awaystore]] : | ; [[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]] : | ; [[cert]] : Este módulo deixa os utilizadores os seus próprios certificados SSL para ligar a um servidor. | ||
; [[crypt]] : | ; [[crypt]] : Encriptação para as mensagens de canal e mensagens privadas. | ||
; [[keepnick]] : | ; [[keepnick]] : Tenta obter e manter o seu nick principal se for tirado. | ||
; [[kickrejoin]] : | ; [[kickrejoin]] : Implementa auto-rejoin-on-kick (automaticamente entrar no canal onde foi chutado(a) por um utilizador/bot de IRC). | ||
; [[modules_online]] : | ; [[modules_online]] : Falseia o estado online de módulos de ZNC para consertar alguns clientes. | ||
; [[nickserv]] : | ; [[nickserv]] : Autentica-o(a) com o NickServ. | ||
; [[perform]] : | ; [[perform]] : Executa comandos ao ligar ao IRC. | ||
; [[q]] : | ; [[q]] : Autentica-o(a) com o Q (e um pouco mais). | ||
; [[raw]] : | ; [[raw]] : Visualizar todo o tráfego raw. | ||
; [[route_replies]] : | ; [[route_replies]] : Devolve de volta respostas para o cliente certo quando estão 2 ou mais clientes ligados. | ||
; [[sasl]] : | ; [[sasl]] : Permite-lhe a si autenticar a uma rede de IRC utilizando SASL | ||
; [[savebuff]] : | ; [[savebuff]] : Guarda o buffer de canal para um ficheiro encriptado para que eles possam sobreviver a reinicios. | ||
; [[schat]] : SSL ( | ; [[schat]] : Chat DCC com SSL (encriptado). | ||
; [[simple_away]] : | ; [[simple_away]] : Automaticamente define-o(a) como ausente no IRC quando desligado do bouncer. | ||
; [[stickychan]] : | ; [[stickychan]] : Mantém-o(a) em canais específicos. | ||
; [[watch]] : | ; [[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 <code>~/.znc/modules</code> and <code>/usr/local/lib/znc</code> por defeito. O ZNC instala os seus módulos para esse segundo directório que é de facto <code>${prefix}/lib/znc</code>, mas isto pode ser alterado com <code>./configure --module-prefix=DIR</code> antes de compilar. | |||
ZNC | O ZNC irá primeiro procurar no sub-directório local <code>modules</code> 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: <code>mv sample.so sample.so_</code>. | ||
Para compilar um novo módulo, tem de primeiro guardar a source com um ficheiro ".cpp". [[Compiling modules|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 <tt>*status</tt>, tipo: | |||
/msg *status LoadMod [--type=global|user|network] < | /msg *status LoadMod [--type=global|user|network] <módulo> <parâmetros> | ||
/msg *status UnloadMod [--type=global|user|network] < | /msg *status UnloadMod [--type=global|user|network] <módulo> | ||
* <code>*</code> | * <code>*</code> é o StatusPrefix definido na sua [[configuration|configuração]]. Normalmente é apenas um asterisco ("*"). | ||
* <code>[--type=global|user|network]</code> | * <code>[--type=global|user|network]</code> 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 [[:Category:Modules|Documentação do módulo]] individual para saber mais onde ele pode ser carregado. | ||
* <code>< | * <code><módulo></code> é baseado no nome do ficheiro do módulo, tirando a extensão ".so". | ||
* <code>< | * <code><parâmetros></code> 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 '''<code>-sanitize</code>''', você digitaria: | |||
/msg *status LoadMod --type=global log -sanitize | /msg *status LoadMod --type=global log -sanitize | ||
Para as versões antigas do ZNC, não irá ter a opção para especificar <code>[--type=global|user|network]</code>. Neste caso, apenas utilize: | |||
/msg *status LoadMod < | /msg *status LoadMod <módulo> <parâmetros> | ||
/msg *status UnloadMod < | /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 [[configuration|znc.conf]] e remover o correspondente <code>LoadModule</code>. | |||
== | == 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 *< | /msg *<módulo> help | ||
* <code>*</code> | * <code>*</code> é o StatusPrefix definido na sua [[configuration|configuração]]. Normalmente é apenas um asterisco ("*"). | ||
== | == Módulos Externos == | ||
Por favor, veja [[:Category:External Modules|Módulos Externos]] para uma lista completa. | |||
[[Category:Modules]] | [[Category:Modules]] |
Latest revision as of 15:48, 12 June 2023
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.