IRC FAQ (Frequently Asked Questions)

1. O que é IRC?

IRC, abreviação de Internet Relay Chat. É o serviço da Internet que permite uma conversação escrita on-line entre vários usuários da rede, utilizando para isso servidores e clientes (programas) próprios. As discussões através do IRC fazem uso do conceito de canal (trilha de conversação), podendo ser públicas ou privadas quanto à participação dos membros.

2. O que é mIRC?

Programa para utilização do IRC. É o cliente de IRC mais usado no mundo distribuído como shareware. Compatível com Windows 3.x, 95 e NT. Página oficial: http://www.mirc.co.uk.

3. O que é rede de IRC?

Uma rede de IRC é um conjunto de servidores de IRC interligados que mantém um conjunto de regras e fins próprios. Como exemplo de redes de IRC públicas, temos a BrasIRC, Brasnet, Undernet, Dalnet, Efnet, etc. Existem também servidores de IRC próprios, que não formam uma rede de IRC, como o servidor do Globo On (irc.oglobo.com.br).

4. Usuários conectados a redes de IRC diferentes podem se comunicar?

Não. Usuários de servidores diferentes de uma mesma rede de IRC (ex: irc.matrix.com.br e irc.ism.com.br da BrasIRC) podem se comunicar mas redes diferentes não possuem uma interconexão de modo a se comunicarem. Seria como comparar o WebChat do ZAZ com o WebChat do UOL.

5. O que são canais?

Os canais podem ser comparados às salas do WebChat. São indicados pelo símbolo # seguido do seu nome (ex: #brasil, #internet, #futebol). Cada canal possui um tópico que tem por objetivo informar a finalidade do canal. Qualquer usuário pode criar um canal. Diferentemente do WebChat, não existe limite no número de canais em uma rede de IRC nem no número de usuários em um canal.

6. O que identifica um usuário na rede de IRC?

Ao fazer a conexão com um servidor de IRC, o usuário precisa informar um nick (apelido de no máximo 9 caractéres) pelo qual ele será identificado. Uma rede de IRC não pode ter 2 usuários com o mesmo nick. Os nicks não são diferenciados por letras maiúsculas e minúsculas. Isto significa que não podem haver dois usuários com os nicks kiLLer e Killer. Através do nick, pode-se encontrar facilmente qualquer usuário na rede de IRC. Os usuários podem também ser encontrados através do seu endereço na forma <user@host.domínio>.

7. O que são operadores de um canal?

Ao criar um canal, o usuário se torna operador deste. Um operador é identificado pelo símbolo @ seguido do seu nick na lista de usuários de um canal (ex: @Killer, @João). Cada canal pode ter mais de um operador ou mesmo nenhum (quando o único operador do canal sai deste). O operador, e somente ele, pode tirar o usuário de um canal, baní-lo, dar ou tirar status de operador a outro usuário, alterar o tópico do canal, limitar o número de usuários do canal, etc. De uma maneira geral, o operador tem como função zelar pelo bom funcionamento do canal segundo a sua finalidade.

8. O que é kickar e banir um usuário?

Kickar um usuário significa tirar o usuário do canal. O usuário pode voltar ao canal normalmente. Banir um usuário é impedir que este volte ao canal, mas não tira o usuário do canal. O banimento pode se basear no nick do usuário e/ou no seu endereço (na forma user@host.domínio). Se um usuário em um canal for banido, ele pode continuar no canal. Para isso existe o "kick, ban" que bane e depois kicka o usuário do canal, impedindo que ele volte. Um usuário é kickado ou banido quando infringe as regras do canal, xingando, ofendendo, ou praticando o "flood".

9. O que é Flood?

O flood é a repetição desnecessária de mensagens ou o envio de mensagens longas (um arquivo texto por exemplo) em um curto intervalo de tempo. Isto sobrecarrega o servidor e causa uma incoveniência no canal. O usuário que pratica o flood pode ser kickado ou banido de um canal por um dos operadores, ou até mesmo desconectado da rede por um IRCop.

10. O que são IRCops?

São usuários com privilégios em uma determinada rede de IRC. Os IRCops podem ter status de operador em qualquer canal, entrar em qualquer canal mesmo se for banido, desconectar (kill) ou banir (k-line ou g-line) um usuário de um ou todos os servidores da rede de IRC, etc. Eles tem como função zelar pelo bom funcionamento da rede.

11. Como ocorrem as conversas privadas?

Os programas de IRC utilizam janelas para conversas privadas com outros usuários. Ninguém, nem operadores, podem ler as mensagens privadas. A não ser que alguém tenha acesso direto aos servidores de IRC que recebem e repassam as mensagens até chegar ao usuário destino. Dois usuários não precisam estar em um mesmo canal para conversar privadamente. Basta que um saiba o nick do outro. Os programas de IRC possuem o recurso do "DCC Chat" que é uma conversa privada com conexão direta, mais rápida e independente dos servidores de IRC. Essa conexão é feita a partir do IRC onde é possível conhecer o endereço IP que identifica o usuário na Internet. Através da conexão direta, pode-se também trocar arquivos de qualquer tipo.

12. O que é lag?

O lag é o atraso no recebimento de mensagens. Pode ocorrer devido a distância geográfica dos usuários, condições precárias ou sobrecarga da rede de IRC. Para fugir do lag, o usuário tem a opção de trocar de servidor e/ou dar preferência ao DCC Chat para conversas privadas.

13. O que é Netsplit?

O Netsplit ocorre quando dois servidores que compõem a rede se separam por algum problema, dividindo a rede em dois. Os usuários de um lado da rede ficam sem comunicação com os usuários do outro lado dela. Quando os servidores voltam a se conectar, eles tentam garantir que as pessoas que estavam com status de operador em um lado da rede tenham status de operador no outro lado também (o chamado server op), assim como garantir as configurações dos canais antes do Netsplit.

14. O que é um bot?

Bot é um programa geralmente rodando sobre um servidor Unix na Internet conectado a uma rede de IRC simulando um operador de canal. O bot tem como principal função garantir que os operadores registrados nele tenham o status de operador assim que entrarem no canal. Ele pode também controlar o canal kickando ou banindo automaticamente os usuários que infringirem as regras. Os bots podem ocupar um canal 24 horas por dia e fazer uma reconexão automática caso seja desconectado por algum motivo. Um exemplo de bot é o Mudbot, cujo código fonte escrito em C++ pode ser encontrado em http://www.mudbot.org.

15. Vantagens e desvantagens sobre o WebChat:

Enquanto o WebChat utiliza um browser, o IRC requer outro software, geralmente com menos de 1 MB (ex: mIRC, PIRCH, etc.), que tem a vantagem de sobrecarregar menos a CPU e a memória do computador. O IRC oferece mais recursos de bate-papo, como o número ilimitado de usuários e canais. O WebChat se aproveita da interface gráfica para oferecer salas interativas com imagens e outros efeitos multimídia. Os programas de IRC trabalham basicamente com comandos do teclado e menus e janelas através do mouse. Para o usuário principiante, isso pode dificultar um pouco, mas facilita bastante os usuários experientes.


mIRC - Options

Em IRC Switches, mantenha acionada a opção "Rejoin channel when kicked". Mantenha desativadas as opções "Quits in channel", "Joins/parts in channel" e "Modes in channel" para evitar um número grande de mensagens na tela.

Em Extras, use o número 1 na opção "Tooltips delay". Isso faz com que uma descrição de um botão na barra de ferremantas apareça imediatamente ao apontar a seta do mouse neste botão. Mantenha ativa a opção "Always highlight" para que o programa avise (alterando a cor do ícone na barra de tarefas) quando aparecer uma mensagem em uma janela não-ativa.

Em Logging, mantenha ativadas as opções "Channels" e "Private Chats" para gravar, em um arquivo, tudo o que estiver sendo mostrado nas janelas de bate-papo, facilitando uma pesquisa que, de repente, queira fazer depois.

Em Perform, ative a caixa "On connect..." e digite na área de texto o comando "/list -min 2" para que apareça automaticamente a janela de canais ao estabelecer uma conexão. O limite mínimo de 2 pessoas é útil para evitar listas grandes e desnecessárias, já que não é proveitoso entrar em canais que tenham apenas uma pessoa. Se você costuma frequentar redes de IRC movimentadas, não é aconselhável o uso dessa configuração pelo tamanho da lista de canais que você usuário terá de esperar até recebê-la completamente.

Em URL Catcher, ative a caixa "Enable URL catcher". Dessa forma, qualquer URL (endereço Web) que o programa receber como mensagem (qualquer tipo de mensagem) será incluída na lista de URLs do programa. Na versão 5.1, o programa permite o reconhecimento de e-mails. A partir dessa lista (pode ser chamada pelo botão URL list na barra de ferramentas), o usuário poderá chamar o browser (previamente configurado no mIRC) e acessar a página correspondente ao endereço (URL) selecionado, enviar o endereço como mensagem em uma das janelas que o usuário escolher, incluir (ou apagar) URLs utilizando uma descrição e colocar marcadores para diferenciar grupos de endereços tomando como base o assunto de cada um deles. Essas opções são utilizadas com o botão direito do mouse.

mIRC - Aliases

Defina o comando /cores através do script abaixo (insira as linhas no quadro Tools/Aliases). Isto cria uma tabela de cores na janela status, para utilizá-la como referência. Para escrever um texto de mensagem usando cores (versões atuais do mIRC), utilize "Ctrl + K" (aparecerá uma barra preta como caracter) seguido de "n,n" (como em 4,1) como sendo o código da cor da letra e cor de fundo respectivamente. Se o "Ctrl + K" acionar um "beep", significa que a sua versão de mIRC não suporta esse recurso.

/cores {
  /echo 1 -s A cor 0 é branca
  /echo 1 -s Cor 1
  /echo 2 -s Cor 2
  /echo 3 -s Cor 3
  /echo 4 -s Cor 4
  /echo 5 -s Cor 5
  /echo 6 -s Cor 6
  /echo 7 -s Cor 7
  /echo 8 -s Cor 8
  /echo 9 -s Cor 9
  /echo 10 -s Cor 10
  /echo 11 -s Cor 11
  /echo 12 -s Cor 12
  /echo 13 -s Cor 13
  /echo 14 -s Cor 14
  /echo 15 -s Cor 15
}

A sequência abaixo define uma provocação de "flood" em alguém. Não aconselho ninguém a usar isso. Cito apenas como curiosidade. Alguns ajustes no número de repetições e intervalo pode ter de ser feito para evitar que o próprio usuário caia por "flood". O comando deve ser executado na forma /kill {nickname}.

/kill {
  /timer1 5 1 /ctcp $1 version
  /timer2 5 1 /ctcp $1 finger
  /timer3 5 1 /ctcp $1 time
  /timer4 5 1 /ctcp $1 clientinfo
  /timer5 5 1 /ctcp $1 trout
}

OBS: usuários que utilizam este comando costumam usar clones para que a vítima possa ser afetada mais rapidamente e para que o próprio usuário não seja desconectado por flood, já que comandos de ctcp também sobrecarregam o servidor. Clones são vários nicknames usados por um mesmo usuário de uma só vez. Este usuário abre várias janelas do mIRC e faz as conexões usando diferentes nicknames. Clones podem ser identificados pelos seus hostnames, já que utilizam o mesmo endereço de host ou endereço IP.

O próximo exemplo cria na Janela de Status uma tabela de caracteres especiais através do seu código Ascii. Podem ser usados como referência quando quiser inserir um desses (digitando o código Ascii no teclado numérico mantendo pressionada a tecla Alt) em uma mensagem.

/char {
  set %n 161
  :start
  /echo 12 -s Alt 0 $+ %n = $chr(%n)
  inc %n
  if (%n == 256) goto end
  goto start
  :end
  unset %n
}

Este alias converte uma mensagem digitada como parâmetro ao comando /hack alterando as letras da mensagem para caracteres especiais. Essa mensagem é imediatamente enviada. Usado por usuários que se dizem hackers. Mesmo não tendo uma utilidade prática, segue abaixo como curiosidade.

/hack {
  set %hack *1
  set %hack $replace(%hack,a,å)
  set %hack $replace(%hack,b,ß)
  set %hack $replace(%hack,c,¢)
  set %hack $replace(%hack,d,Ð)
  set %hack $replace(%hack,e,ë)
  set %hack $replace(%hack,f,F)
  set %hack $replace(%hack,g,G)
  set %hack $replace(%hack,h,$chr(35))
  set %hack $replace(%hack,i,î)
  set %hack $replace(%hack,j,J)
  set %hack $replace(%hack,k,K)
  set %hack $replace(%hack,l,£)
  set %hack $replace(%hack,m,M)
  set %hack $replace(%hack,n,ñ)
  set %hack $replace(%hack,o,ð)
  set %hack $replace(%hack,p,þ)
  set %hack $replace(%hack,q,Q)
  set %hack $replace(%hack,r,®)
  set %hack $replace(%hack,s,§)
  set %hack $replace(%hack,t,T)
  set %hack $replace(%hack,u,µ)
  set %hack $replace(%hack,w,W)
  set %hack $replace(%hack,x,×)
  set %hack $replace(%hack,y,¥)
  set %hack $replace(%hack,z,Z)
  set %hack $replace(%hack,$chr(44),¸)
  set %hack $replace(%hack,?,¿)
  set %hack $replace(%hack,!,¡)
  say %hack
  unset %hack
}

Os scripts abaixo permitem que o mIRC seja utlizado para se comunicar com servidores de MAIL e WWW. Para utilizá-los corretamente, o usuário precisa conhecer os protocolos de comunicação (HTTP, POP3, SMTP). Porém, alguns recursos do mIRC foram utilizados para facilitar o envio e recebimento de e-mail.

/connect {
  raw -q privmsg $me : $+ $chr(1) $+ DCC CHAT CHAT $longip($$1) $$2 $+ $chr(1)
}
/mail {
  set %from $$?="Digite seu e-mail:"
  set %to $$?="Digite o e-mail do destinatário:"
  set %subject $$?="Digite o assunto (subject) da mensagem:"
  raw -q privmsg $me : $+ $chr(1) $+ DCC CHAT CHAT $longip(0.0.0.0) 25 $+ $chr(1)    Substitua o endereço 0.0.0.0 pelo endereço do servidor de e-mail que seja mais rápido para você.
}
/mailnow {
  msg = $+ $me helo $ip
  msg = $+ $me MAIL FROM: %from
  unset %from
  msg = $+ $me RCPT TO: %to
  unset %to
  msg = $+ $me DATA
  msg = $+ $me Subject: %subject
  unset %subject
}
/pop {
  set %server $$?="Digite o endereço IP do servidor:"
  set %user $$?="Digite o login da sua conta:"
  set %pass $$?="Digite a sua senha:"
  raw -q privmsg $me : $+ $chr(1) $+ DCC CHAT CHAT $longip(%server) 110 $+ $chr(1)
  unset %server
}
/popnow {
  msg = $+ $me USER %user
  unset %user
  msg = $+ $me PASS %pass
  unset %pass
}
 

Conectando: o comando /connect <server> <porta> definido acima permite fazer uma conexão com um servidor na rede. O <server> deve ser indicado pelo endereço IP (use o comando /dns para conhecer o endereço IP de um domínio). A porta depende do serviço disponível no servidor que o usuário queira usar. Para utilizar o servidor WWW, a porta padrão é 80. Para enviar e-mail, use a porta 25. Para checar sua conta de e-mail, porta 110.

Enviando e-mail: para enviar e-mail através do script acima, digite /mail. Três janelas de diálogo pedirão o e-mail de origem (seu e-mail), o e-mail destino (endereço para onde a mensagem vai) e o assunto da mensagem. Logo depois, abrirá uma janela de DCC CHAT e a conexão com o servidor será estabelecida. Digite o comando /mailnow e tecle enter para então começar a digitar a mensagem. Esta deve ser digitada na própria janela de CHAT. Para terminar a digitação e enviá-la, digite um ponto "." em uma linha vazia e tecle enter. O e-mail será enviado e a janela poderá ser fechada.

Recebendo e-mail: use o comando /pop. Três janelas de diálogo pedirão o endereço IP do servidor (use o comando /dns para descobrí-lo), o seu login e a sua senha (a senha aparecerá escrita na tela). Uma janela de DCC CHAT iniciará a conexão e informará o número de mensagens da sua caixa postal seguido do tamanho em bytes. Digite "LIST" (sem aspas) para receber uma lista das mensagens. Esta lista informa o número (1,2,3,...) de cada mensagem seguido do tamanho em bytes. Para ler uma mensagem, digite "RETR n" onde n é o número da mensagem a ser lida. Essa mensagem aparecerá na própria janela de CHAT. Para apagar uma mensagem, digite "DELE n" onde novamente n corresponde a mensagem a ser deletada do servidor. Quando acabar de ler os e-mails, digite "QUIT", tecle enter e feche a janela. Caso você não use o comando "QUIT", o servidor vai achar que a conexão não foi interrompida e a sua caixa postal vai permanecer ocupada por algum tempo.

mIRC - Remote Scripts

Insira as linhas abaixo no seu Tools/Remote. Supõe-se aqui que não existe nada definido ainda em seu quadro de Users e que o default user level seja igual a 1. Se existir, cabe a você fazer as alterações necessárias para usar os scripts. Acione a opção listening em cada um dos quadros Commands e Events.

[Users]    Esta janela define os níveis de determinados usuários. Quem não estiver nesta lista terá o nível definido em default user level.

50:Killer!*@*    Substitua Killer pelo seu nickname mais usado.

[Commands]    Use as linhas abaixo para se proteger de provocações de flood. Este quadro é utilizado para resposta a comandos de /ctcp.

ctcp 1!:FINGER:/whois $nick | /auser -a 2 $nick | /timer 1 25 /ruser 2 $nick
ctcp +2:FINGER:/auser -a 3 $nick | /timer 1 25 /ruser 3 $nick
ctcp +3:FINGER:/ignore -tu300 $nick 2 | /halt
ctcp 1!:TIME:/whois $nick | /auser -a 2 $nick | /timer 1 25 /ruser 2 $nick
ctcp +2:TIME:/auser -a 3 $nick | /timer 1 25 /ruser 3 $nick
ctcp +3:TIME:/ignore -tu300 $nick 2 | /halt
ctcp 1!:CLIENTINFO:/whois $nick | /auser -a 2 $nick | /timer 1 25 /ruser 2 $nick
ctcp +2:CLIENTINFO:/auser -a 3 $nick | /timer 1 25 /ruser 3 $nick
ctcp +3:CLIENTINFO:/ignore -tu300 $nick 2 | /halt
ctcp 1!:VERSION:/whois $nick | /auser -a 2 $nick | /timer 1 25 /ruser 2 $nick
ctcp +2:VERSION:/auser -a 3 $nick | /timer 1 25 /ruser 3 $nick
ctcp +3:VERSION:/ignore -tu300 $nick 2 | /halt
ctcp 1!:TROUT:/whois $nick | /auser -a 2 $nick | /timer 1 25 /ruser 2 $nick
ctcp +2:TROUT:/auser -a 3 $nick | /timer 1 25 /ruser 3 $nick
ctcp +3:TROUT:/ignore -tu300 $nick 2 | /halt

OBS: neste caso, um usuário que receber nível 3 será ignorado por 5 minutos, ao contrário dos usuários de níveis menores. Um usuário que tenha um determinado nível também terá acesso a (poderá acionar) scripts de níveis inferiores. Ao incluir o sinal (+) antes dos níveis 2 e 3, estamos limitando os comandos correspondentes para que sejam acionados somente por usuários de nível 2 e 3 respectivamente, e não por usuários de nível 4 ou maior que 4, por exemplo. O sinal (!) depois do nível 1, faz com que o comando correspondente não reaja a uma ação feita pelo próprio usuário do programa. Esse sinal não terá importância nesse caso porque admite-se que ninguém executa um comando /ctcp finger, time ou version sobre si mesmo.

[Events]    Os eventos são comandos, ou uma sequência destes, executados quando um usuário de determinado nível realiza uma determinada ação (entrar em um canal, escrever um texto, etc.). No exemplo abaixo, quando alguém estiver usando o seu nickname, você é obrigado a usar um segundo apelido. Quando essa pessoa sair, você automaticamente terá de volta o nickname usual. Um outro caso semelhante, é quando você é desconectado do servidor (por queda de linha) mas o seu nickname continua lá por algum tempo, obrigando-o a usar um segundo apelido quando imediatamente reestabelecer a conexão.

on +50:QUIT:/nick Killer    Substitua Killer pelo seu nickname usual.

O exemplo abaixo permite colocar uma senha na entrada do programa, ou seja, assim que o mIRC for aberto, será pedida uma senha. Se a senha estiver incorreta, o programa se fecha automaticamente. Caso contrário, o mIRC funcionará normalmente. Para descobrir a senha, basta abrir o arquivo de scripts com um editor de texto, mas o script é útil se você tem irmãos menores que costumam entrar no teu mIRC sem a sua permissão.

on 1:START:if ($?="Digite a senha:" != abc) exit    Neste caso, a senha será abc.

Uilizando o script abaixo, você estará protegido contra o flood por DCC Chat. Quando um usuário sofre um ataque desses, caso esteja com a confirmação automática ativada (DCC Options/Chat/Auto-accept), começa a abrir várias janelas de chat sem que o usuário queira. O script automaticamente fecha as janelas e ignora o usuário que estiver fazendo o flood.

on 1:CHATOPEN:/auser -a 2 $nick | /timer 1 30 /ruser 2 $nick
on 2:CHATOPEN:/auser -a 3 $nick | /timer 1 30 /ruser 3 $nick
on 3:CHATOPEN:/close -c $nick | /ignore -u300 $nick 2

O próximo exemplo possibilita ao usuário ter um File Server ativo enquanto estiver utilizando o IRC. O File Server tem como propósito a disponibilidade de arquivos que outros usuários podem escolher e receber executando comandos em DCC Chat. Normalmente um usuário que esteja com um Fserver deseja alguns arquivos de alguém em troca (textos, fotos, documentos em geral) para que este tenha acesso aos seus arquivos pelo sistema de crédito. O exemplo abaixo utiliza o crédito por quantidade de arquivos enviados na proporção de 1 pra 1. Outra forma de crédito, geralmente utilizada, seria pelo tamanho dos arquivos em bytes.

#fserver on    Indica que o conjunto de scripts está acionado. Este status pode ser alterado pelo comando /disable #fserve
on 1!:TEXT:*!fs*:*:/msg $nick Envie um arquivo para ter acesso ao meu FServer.    Poderia ser especificado um tipo de arquivo. O !fs indica o comando que um usuário precisa digitar para obter informações sobre o acesso ao FServer, podendo ser mudado conforme o seu propósito.
on 1:FILERCVD:*.ext:/msg $nick 1 arquivo recebido. Digite !fs para acessar meu FServer. | /auser 21 $nick    O parâmetro *.ext indica que o crédito será dado a quem enviar um arquivo de determinada extensão. Indique aqui a extensão desejada ou *.* para qualquer tipo de arquivo.
on +21:FILERCVD:*.ext:/msg $nick 2 arquivos recebidos. | /auser 22 $nick
on +22:FILERCVD:*.ext:/msg $nick 3 arquivos recebidos. | /auser 23 $nick
on +23:FILERCVD:*.ext:/msg $nick 4 arquivos recebidos. | /auser 24 $nick
on +24:FILERCVD:*.ext:/msg $nick 5 arquivos recebidos. | /auser 25 $nick
on 21!:TEXT:*!fs*:*:/fserve $nick 1 c:\dir    No lugar do parâmetro c:\dir deve ser informado o path dos arquivos que você quer oferecer.
on +21:FILESENT:*.*:/ruser $nick | /close -f $nick | /msg $nick Seus créditos acabaram. Para renová-los, envie mais arquivos.
on +22:FILESENT:*.*:/ruser $nick
on +23:FILESENT:*.*:/ruser $nick
on +24:FILESENT:*.*:/ruser $nick
on +25:FILESENT:*.*:/ruser $nick
#fserver end    Determina o final do conjunto de scripts.
on 1!:TEXT:*!fs*:*:/msg $nick FServer desativado no momento!!
on 1:FILERCVD:*.*:/echo 4 -a Arquivo $file recebido de $nick $+ !!
on 1:SERVOPEN:/msg =$nick Bem-vindo ao meu FServer    O parâmetro =$nick envia a mensagem na janela do File Server.

[Raw]    Os chamados comandos Raw são respostas enviadas pelo servidor de IRC. Estas respostas chegam em formato numérico, e se referem a comandos previamente enviados pelo usuário. Quando o usuário executa o comando /whois Killer, o servidor envia várias respostas a esse comando, que no caso são informações sobre o usuário Killer. Para obter um índice númerico dessas respostas, pegue um arquivo texto em http://ds.internic.net/rfc/rfc1459.txt. Abaixo segue um exemplo, onde as informações de um usuário (quando o comando /whois for executado) e as mensagens do tipo "No such nick/channel/server" aparecem não só na Janela de Status como também na Janela Ativa ao ser executado um comando.

raw 301:*:/echo 12 $2 is away: $3- | /halt
raw 311:*:/echo 10 -a - | /echo 10 -a $2 is $3 $+ @ $+ $4- | /halt
raw 312:*:/echo 12 -a $2 using $3- | /halt
raw 313:*:/echo 12 -a $2- | /halt
raw 314:*:/echo 10 -a - | /echo 10 -a $2 was $3 $+ @ $+ $4- | /halt
raw 317:*:/echo 12 -a $2 is $3- | /halt
raw 318:*:/echo 10 -a - | /halt
raw 319:*:/echo 12 -a $2 on $3- | /halt
raw 369:*:/echo 10 -a - | /halt
raw 401:*:/echo 10 -a - | /echo 12 -a $2- | /echo 10 -a - | /halt
raw 402:*:/echo 10 -a - | /echo 12 -a $2- | /echo 10 -a - | /halt
raw 403:*:/echo 10 -a - | /echo 12 -a $2- | /echo 10 -a - | /halt

mIRC - Popups

Abaixo são descritos alguns comandos de menus que podem implementar os comandos padrões. Para definí-los, entre em Tools/Popups. As definições são feitas no formato Descrição:/Comando. As definições que contém um ou dois pontos antecedentes se tratam de submenus, e estão relacionados com a descrição sem comando imediatamente acima.

[Status]    Menu que aparece com o clique do botão direito do mouse na janela de status.

Connect    Troque os nomes de domínio pelos seus preferidos.
.BrasIRC:/server irc.brasirc.com.br
.Xtranet:/server irc.xtranet.org
.Brasnet:/server irc.brasnet.com.br
.Brasilnet:/server irc.brasilnet.com.br
Server
.Lusers:/lusers
.Motd:/motd
.Time:/time
Names:/names #$$?="Nome do canal:"
Join:/join #$$?="Nome do canal:"
Other
.Whois ?:/whois $$?="Nickname:"
.Query:/query $$?="Nickname:"
.Nickname:/nick $$?="Novo nickname:"
.Away
..Set Away...:/away $$?="Mensagem de away:"
..Set Back:/away
.List Channels:/list -min 2
.Cores:/cores    Comando definido como alias.
NickServ    Veja a sessão NickServ nesta página.
.Identify:/msg NickServ identify senha    Informe a senha utilizada no registro do seu nickname.
.Recover ghost:/msg NickServ ghost Killer | /timer 1 3 /nick Killer    Informe no lugar de Killer o seu nickname. Finger:/finger $$?="Digite um address:"
Edit Notes:/run notepad.exe notes.txt

[Channel]    Corresponde ao menu da janela de um canal.

Part:/part #
Rejoin:/part # | /timer 1 2 /join $chan
Ping:/ping #
Cores:/cores    Comando definido como alias.

[Query/Chat]    Aparece nas janelas de mensagens privadas, query e chat.

UCentral:/uwho $$1
Whois:/whois $$1
Send message:/msg $$1 $?="Mensagem:"
Notice:/notice $$1 $?="Mensagem:"
Query:/query $$1
Invite:/invite $$1 #$?="Canal:"
FServe:/fserve $$1 1 c:\dir
Kill:/kill $$1    Comando definido como alias.
Ignore Privates:/ignore -pni $$1
Total Ignore:/ignore $$1
CTCP
.Ping:/ctcp $$1 ping
.Finger:/ctcp $$1 finger
.Version:/ctcp $$1 version
.Time:/ctcp $$1 time
.Userinfo:/ctcp $$1 userinfo
.ClientInfo:/ctcp $$1 clientinfo
.?:/ctcp $$1 $?="Comando:"
DCC
.Chat:/dcc chat $$1
.Send:/dcc send $$1

[Nickname List]    Aparece ao clicar (com o botão direito) em um nick da lista de usuários do canal.

Whois:/whois $$1
UCentral:/uwho $$1
Query:/query $$1
Chat:/dcc chat $$1
Send Msg:/msg $$1 $?="Mensagem:"
Notice:/notice $$1 $?="Mensagem:"
Invite:/invite $$1 #$?="Canal:"
FServe:/fserve $$1 1 c:\dir
Kill:/kill $$1    Comando definido como alias.
-
Control
.Ignore Privates:/ignore -pni $$1
.Total Ignore: /ignore $$1
.Give Ops:/mode # +ooo $$1 $2 $3
.Deop:/mode # -ooo $$1 $2 $3
.Kick (why?):/kick # $$1 $?="Motivo do kick:"
.Ban:/ban $$1 2
.Kick, Ban:/ban $$1 2 | /kick # $$1
CTCP
.Ping:/ctcp $$1 ping
.Finger:/ctcp $$1 finger
.Version:/ctcp $$1 version
.Time:/ctcp $$1 time
.Userinfo:/ctcp $$1 userinfo
.ClientInfo:/ctcp $$1 clientinfo
.?:/ctcp $$1 $?="Comando:"
DCC
.Send:/dcc send $$1
.Chat:/dcc chat $$1

[Menu bar]    Define um sub-menu na barra de menu do programa.

Commands
Join channel:/join #$$?="Nome do canal:"
Part channel:/part #$$?="Nome do canal:"
Query user:/query $$?="Nickname e a mensagem:"
Send notice:/notice $$?="Nickname e a mensagem:"
Send message:/msg $$?="Nickname ou #canal e a mensagem:"
Whois user:/whois $$?="Nickname:"
UCentral:/uwho $$?="Nickname:"
Send CTCP
.Ping:/ctcp $$?="Nickname:" ping
.Time:/ctcp $$?="Nickname:" time
.Version:/ctcp $$?="Nickname:" version
.Finger:/ctcp $$?="Nickname:" finger
.Userinfo:/ctcp $$?="Nickname:" userinfo
.ClientInfo:/ctcp $$?="Nickname:" clientinfo
.?:/ctcp $$?="Nickname:" $$?="Comando:"
Set FServer    Aciona ou desabilita os scripts do FServer.
.On:/enable #fserver
.Off:/disable #fserver
Set Away
.On:/away $$?="Mensagem de away:"
.Off:/away
Invite user:/invite $$?="Nickname e #canal:"
Ban user:/ban $$?="#Canal e nickname:"
Kick user:/kick $$?="#Canal e nickname:"
Ignore user:/ignore $$?="Nickname:"
Change nickname:/nick $$?="Novo nickname:"
Quit IRC:/quit


Windows Nuker

Existe um bug no sistema operacional Microsoft Windows (nas versões 3.11, 95 e NT) que permite a um usuário da Internet, usando um programa facilmente encontrado na Web, travar o computador de um usuário do Windows, através do seu endereço IP. Estes ataques são mais frequentes em usuários do IRC, por ser mais fácil a identificação IP de um usuário. Os tipos de trava do sistema variam de acordo com a versão utilizada. Enquanto o Windows NT mostra uma tela azul parando de responder ao usuário, o Windows 95 e 3.11 informa ao usuário (também através de uma tela azul) que um aplicativo não está mais respondendo e retorna ao desktop, seguido de uma lentidão que torna praticamente impossível a utilização normal do sistema até que o computador seja desligado. Isto não gera maiores danos, mas força o usuário a executar um reboot no computador perdendo dados de documentos abertos e não salvos.

Este problema pode ser resolvido no Windows 95 e 3.11 com a correção do bug em http://www.brasirc.com.br/dusk/nuke.htm. A simples renomeação do arquivo vnbt.386 e a reinicialização do Windows (fazendo com que o driver não seja utilizado pelo sistema até tiver o nome original novamente) do diretório de sistema do Windows (/windows/system/) também resolve o problema mas não é o método mais aconselhável.

Alguns usuários, porém, não estão vulneráveis aos ataques do WinNuke. São os que utilizam um outro sistema operacional ou possuem proteção por hardware. Se quiser fazer um teste com a sua máquina, clique aqui. Por questões de segurança, este link não te leva diretamente ao teste, e sim a uma página com informações sobre ele. Portanto, fique a vontade para clicar.

A respeito do programa WinNuke, existem várias versões como o wnuke4.exe e o winnuke.exe, mas não vou disponibilizá-los neste site por motivos éticos. Originalmente escrito para ser usado em Unix, o programa trabalha bem em Macintosh, DOS, Windows 95 e Windows NT.

Este programa envia uma string para a porta NETBIOS (139) da vítima usando o chamado OOB (Out of Band Data). A porta é aberta como padrão na maioria das máquinas Windows, e é usada para a rede sobre o protocolo TCP/IP. Aparentemente, o travamento ocorre porque o Windows não suporta OOB´s, e fica sem saber como gerenciá-los. Para detalhes técnicos (em inglês), clique aqui

Existe agora o programa Jolt para Linux (conhecido também como Icenuke ou SSPing) que paralisa totalmente o sistema operacional Windows através do endereço IP da máquina, sem causar maiores danos. Mais informações, código fonte do programa e atualizações de proteção você encontra em SSPING/Jolt (Burnt Toad/AK Technology Services).


NickServ e ChanServ

São serviços recentemente implantados na BrasIRC e já a algum tempo funcionando na XtraNet e redes internacionais. O NickServ permite que um nickname de determinado usuário seja registrado através do seu endereço usual e uma senha escolhida por ele. Ele tem como função impedir que uma pessoa utilize o nickname de outra pessoa para um fim específico.

Se uma pessoa que tenha o nick registrado no NickServ tiver seu nick sendo utilizado por outra pessoa em um determinado instante, é possível através de comandos enviados ao NickServ, fazer a conexão desse usuário cair, liberando o nick para o seu verdadeiro dono. Abaixo segue alguns comandos utilizados. Devem ser executados como mensagens privadas (/msg NickServ {comando}). As respostas aos comandos são enviadas pelo NickServ como "notices" e exibidas na janela que estiver configurada para tal.

Comandos

Descrição

/msg NickServ help {comando}

Ajuda sobre o comando especificado.

/msg NickServ register {senha}

Registra o seu nickname no banco de dados do NickServ através de uma senha. Esta senha deve ser guardada para utilização posterior. Obs: existe distinção entre letras maiúsculas e minúsculas. O NickServ passa a reconhecer o usuário através do seu endereço no formato user@*.domínio. Este endereço identifica o computador do usuário na rede (no caso, Internet). Pelo comando /whois pode-se verificar o endereço do usuário. No caso do registro de nick, esse endereço fica armazenado no banco de dados do NickServ (a chamada lista de acesso ou access list). A vantagem disso é explicada no comando recover.

/msg NickServ identify {senha}

Se identifica ao NickServ, ganhando permissão para usar o nickname.

/msg NickServ drop

Cancela o registro do nick atual. Dessa forma, o nick poderá ser registrado novamente por outro usuário. Para utilizar esse comando, é preciso se identificar como proprietário do nick através do identify.

/msg NickServ recover {nick} {senha}

Desconecta um usuário que estiver usando o seu nickname. Para garantir que este usuário não se reconecte automaticamente, o NickServ impede, durante 1 minuto, que o nick roubado seja utilizado. Para recuperar o nickname, aguarde 1 minuto ou use o comando abaixo. Obs: para utilizar esse comando (bem como o comando release), o seu endereço (formato user@host) deve estar incluido na lista de acesso do registro de nickname. Será explicado adiante como incluir vários endereços na lista de acesso de um único nick (se você acessa o IRC por vários provedores).

/msg NickServ release {nick} {senha}

Libera o nickname para uso após utilizar o comando recover. Depois de executar esse comando, você pode usar o comando /nick para recuperar seu nickname.

/msg NickServ set kill on/off

Liga ou desliga a proteção do nick por kill. Estando ativada esta opção, se um outro usuário tentar usar o seu nick, o NickServ avisará o usuário sobre a proteção e dará a ele 1 minuto para que seu nick seja alterado. Passado 1 minuto sem a alteração do nick, o usuário será desconectado automaticamente do servidor (o chamado auto-kill). Isto não requer que você, proprietário do nick, esteja online.

/msg NickServ set secure on/off

Liga ou desliga a proteção do nick através de senha. O usuário proprietário do nick, terá que se identificar (comando identify) através da senha de registro, sem considerar o seu endereço e a access list registrada no nick. Porém, se o endereço do usuário estiver na access list do nick, o NickServ não utilizará o auto-kill, independente da proteção por kill estar ou não ativada. Se esta proteção (secure) estiver desativada, qualquer usuário pode se conectar com um endereço igual ao que estiver na access list de determinado nick e, mesmo sem saber a senha, alterar as opções do nick.

/msg NickServ set password {senha}

Altera a senha do nick registrado.

/msg NickServ access list

Lista os endereços da access list do nick atual.

/msg NickServ access add/del {endereço}

Adiciona ou retira um endereço da access list do nickname atual. Este endereço normalmente é do formato user@host, mas se você acessa a Internet por um provedor de acesso (onde o host varia a cada ligação telefônica) é aconselhável o uso do formato user@*.domínio

/msg NickServ ghost {nick}

Termina uma conexão fantasma do seu nick. Uma conexão se torna fantasma quando um usuário se desconecta mas o nick continua no servidor como se o usuário estivesse conectado. Isto ocorre quando o computador do usuário trava ou a linha telefônica cai em conexões por modem. Se voce for desconectado por um destes motivos, voltar ao IRC e ver que seu nick continua lá, será obrigado a escolher um outro nick. Depois disso, você pode utilizar o comando ghost para desconectar o nick original e recuperá-lo pelo comando /nick. Obs: para usar o comando ghost, seu endereço precisa estar na access list do nick especificado.

/msg NickServ info {nick}

Mostra informações sobre o nick especificado, tais como o proprietário do nick, último endereço usado, hora em que usou o nick pela última vez, e as opções do nick.

/msg NickServ list {endereço}

Lista todos os nicknames registrados que correspondem ao endereço especificado no formato nick!user@host (ex: *!*@*.mandic.com.br).

Obs: se um nick registrado não for usado no período de 30 dias, seu registro será cancelado e o usuário terá que registrar-se novamente.

O ChanServ tem como principal função, garantir a propriedade de um canal a um determinado usuário (ou vários usuários). Através dele, o dono do canal (o chamado owner ou founder) pode conseguir o status de operador, cadastrar outros usuários como operadores do canal, automaticamente kickar um determinado usuário que entrar no canal, impedir que alterem seu tópico ou suas configurações mesmo que o canal esteja vazio e impedir takeovers (roubo do canal através do status de operador).

Na BrasIRC, o serviço só pode ser utilizado por administradores do ChanServ, mas na XtraNet por exemplo, o serviço é aberto aos usuários e qualquer pessoa pode registrar um canal. Abaixo seguem os comandos a serem usados (/msg ChanServ {comando}).

/msg ChanServ register {#canal} {senha} {descrição}

Permite registrar um canal usando uma senha e uma descriçao sobre seu propósito. A descrição é informada como resposta aos comandos info e list. Para registrar um canal, você precisa estar registrado no NickServ e deve estar com o status de operador do canal, bastando para isso entrar neste enquanto ele estiver vazio. Após registrá-lo, você terá o status de founder do canal.

/msg ChanServ identify {#canal} {senha}

Se identifica ao ChanServ através da senha usada no registro do canal. Esta identificação é necessária para a execução de alguns comandos.

/msg ChanServ drop {#canal}

Retira o registro do canal no ChanServ. Dessa forma, qualquer outro usuário poderá registrar o canal novamente. Este comando deve ser usado apenas pelo founder (proprietário do canal) e requer o uso do comando identify com a senha do canal.

/msg ChanServ set {#canal} founder {nick}

Muda o status de founder do canal para outro nick. Este nick deve estar registrado no NickServ.

/msg ChanServ set {#canal} password {senha}

Altera a senha de registro do canal. Para a execução deste comando, é necessária a identificação (comando identify).

/msg ChanServ set {#canal} desc {descrição}

Altera a descrição do canal.

/msg ChanServ set {#canal} keeptopic on/off

Enquanto estiver ativada essa opção, o tópico do canal será guardado no banco de dados do ChanServ logo depois que a última pessoa sair do canal. Quando outro usuário entrar no canal novamente, o ChanServ automaticamente repõe o tópico.

/msg ChanServ set {#canal} topiclock on/off

Enquanto ativada, esta opção impede que o tópico seja alterado, exceto pelo comando set topic.

/msg ChanServ set {#canal} topic {tópico}

Altera o tópico do canal. Deve ser usada quando a opção topiclock estiver ativada.

/msg ChanServ set {#canal} mlock {modo}

Define opções que são alteradas com o comando /mode. Para ativar uma ou várias opções, usa-se o símbolo + seguido da letra (ou letras) correspondente a opção (ou opções) desejada. Para desativá-la, usa-se o símbolo - da mesma forma. Para mais detalhes, veja o comando /mode na página de Comandos do mIRC.

/msg ChanServ set {#canal} private on/off

Ativa ou desativa o modo private de um canal. Estando ativada, o nome do canal não aparecerá na lista de canais registrados (comando list detalhado abaixo).

/msg ChanServ set {#canal} secureops on/off

Ativa ou desativa a opção secureops. Estando ativada, o ChanServ não permitirá que usuários que não estiverem na access list (veja o comando access mais abaixo) tenham status de operador.

/msg ChanServ set {#canal} restricted on/off

Ativa ou desativa a opção restricted. Se ativada, o ChanServ automaticamente kicka e bane qualquer usuário com nível de acesso negativo (ver access) e, caso a opção secureops esteja ativada, qualquer usuário que não estiver na access list.

/msg ChanServ set {#canal} secure on/off

Estando ativada esta opção, só usuários registrados e reconhecidos pelo comando identify no NickServ poderão ter acesso ao canal. Outros usuários serão banidos.

/msg ChanServ access {#canal} add {nick|endereço} {nível}

Adiciona um usuário a lista de acesso do canal. Se este usuário já estiver na lista, o seu nível de acesso será alterado para o nível especificado no comando. Os níveis de acesso são:
Founder: é o nível do proprietário do canal. Tem acesso a todas as funções do ChanServ. Não pode ser definido através desse comando, e sim do comando set founder.
10: tem acesso ao comando akick e automaticamente ganha o status de operador ao entrar no canal.
5: automaticamente ganha o status de operador ao entrar no canal.
0: é o nível de todos os usuários que não estiverem na lista de acesso. Podem ter op se outro operador lhes der este status (a menos que a função set secureops esteja ativada).
menor que 0: usuários que não podem ter status de operador. 

Obs: qualquer usuário com acesso maior que zero (ex: 10) pode adicionar outro usuário a lista de acesso, desde que o nível especificado seja menor (ex: 5 ou negativo) que o seu nível de acesso. O founder do canal pode especificar qualquer nível de acesso a um usuário.

/msg ChanServ access {#canal} del {nick|endereço} {nível}

Exclui um ou mais usuários da lista de acesso. Através do endereço ou do nível de acesso, pode-se excluir vários usuários de determinado user (user@*), domínio (*@*.domínio) ou nível de acesso.

>


Transfer interrupted!

t {endereço}

Lista os usuários (correspondente ao endereço especificado) que estiverem na lista de acesso. 

/msg ChanServ akick {#canal} add {endereço/nick} {razão}

Inclui um usuário (formato nick!user@host ou apenas o nick de um usuário que estiver conectado na rede) na AutoKick List. Este usuário será automaticamente banido do canal se tentar acessá-lo. Pode-se incluir a razão (porque) do banimento.

/msg ChanServ akick {#canal} del {endereço/nick}

Exclui um usuário ou endereço da AutoKick List.

/msg ChanServ akick {#canal} list {endereço}

Exibe uma lista dos usuários (correspondentes ao endereço dado ou todos os usuários se não for mencionado o endereço) incluidos na AutoKick List.

/msg ChanServ info {#canal}

Lista informações sobre o canal registrado. Inclui seu proprietário (founder), descrição, hora de registro, última entrada de um operador, último tópico, opções e modos.

/msg ChanServ list

Lista os canais registrados no ChanServ (com excessão dos que estiverem com set private on).

/msg ChanServ invite {#canal}

Faz o ChanServ convidar você a entrar em um canal. Este comando só poderá ser usado seu nível de acesso no canal determinado for maior que 0. Este comando é útil quando o canal só permite que um usuário entre caso seja convidado (comandos /mode e /invite para mais detalhes).

Obs: se um canal registrado não receber nenhum operador (o founder ou outro que esteja na access list) no período de 14 dias, terá o registro cancelado e poderá ser registrado novamente por qualquer usuário.


Faça aqui o download do Script Genesis® v1.10a  que contém todos os scripts desta página além de uma série de recursos de grande ajuda para os "newbies" do IRC.