# Internet/IRC

O principal objetivo do IRC é prover um fórum que permita conferências simples e eficientes. Por padrão, todos os comandos em IRC devem ser dados após uma barra (/), que serve justamente para identificá-lo como tal. É possível posteriormente configurar outro caractere para esta função.

## Utilização

Para utilizar o serviço de IRC, é primeiro necessário conectar-se a um servidor IRC utilizando um cliente IRC e então entrar em algum canal para participar de seus chats. Para conectar-se é usado o comando server seguido do endereço do servidor. Após conectado, basta usar o comando list para listar os canais do servidor e seus tópicos. Escolhido um canal da lista, basta entrar usando join seguido do nome do canal.
Porém, para realizar este processo, é requerido um nick, ou seja, um nome de usuário, que precisa ser registrado.
Status de canais :
| Status | Significado |
| +p | privado |
| +s | secreto |
| +t | Apenas OPs podem mudar o tópico. |
| +n | Mensagens recebidas de usuários de fora do canal não são recebidas. |
| +i | Somente usuários convidados por OPs podem entrar. |
| +l | O número de usuários simultâneos é limitado. |
| +m | moderado, somente OPs podem falar. |
| +k | É requerida senha para entrar. |

### Registro

Para registrar uma conexão, utilizam-se os comandos pass e nick (ou user no lugar deste último). O comando pass é obrigatoriamente o primeiro, e possui como parâmetro unicamente a senha escolhida. Então, utiliza-se o comando nick, que define um apelido ou altera-o, e tem como único parâmetro o nome de usuário desejado.
É possível configurar um com o comando nick seguido do nome desejado ou com o msg nickserv register (ou NickServ register apenas, e aí não se usa o e-mail) seguido de senha e e-mail. Registrando-se com o último comando, nenhuma outra pessoa poderá usar um igual, e para o utilizador será necessário usar o comando "msg nickserv identify" (ou NickServ identify, apenas) seguido da senha para confirmar a posse do nome.

### Conversação

Cada mensagem IRC pode ser constituída por até três partes separadas por espaço: um prefixo opcional identificado por dois-pontos no início da mensagem, o comando e os parâmetros do comando.

### Transferência de arquivos

As transferências de arquivo via IRC usam o protocolo DCC, que permite a transferência direta de dados entre usuários.

### Comandos

Alguns outros comandos:
* msg: enviar uma mensagem privada;
* quit: fechar a própria conexão IRC, no estado de cliente;

## Estrutura

O IRC é um serviço da internet composto exclusivamente por clientes e servidores, onde cada servidor possui informações sobre toda a rede, formando seu backbone. Os servidores possuem canais, que são como salas virtuais formadas por um ou mais clientes que recebem as mensagens endereçadas ao canal. São identificados com uma "#" antes do nome. Estes canais possuem operadores (OP) que podem remover clientes, alterar o modo e tópico do canal, promover outros clientes a operadores do canal. É identificado por uma arroba antecedendo o nome de cliente.

### Cliente

Um cliente é qualquer coisa que conecte-se a um servidor, sem ser outro servidor. São distinguidos por um nickname único de no máximo 9 caracteres. Os servidores também precisam, necessariamente, das seguintes informações de todos os clientes conectados a ele, além do nome de usuário: o nome do host utilizado pelo cliente, o nome de usuário do cliente no host, e o servidor ao qual o cliente está conectado.
Há, porém, clientes com mais poder do que os demais, conforme descrito a seguir:
* Operador (OP): possui o poder de realizar manutenção em funções gerais da rede, como desconectar e reconectar servidores para prevenção de uso prolongado de roteamento de rede ruim, e fechar qualquer conexão entre cliente e servidor.
* Operador de canal (chop ou chanop): é o possuidor de um canal, e como tal não deve satisfação de seus atos, mas se em geral suas ações forem abusivas, pode ser interessante solicitar a intervenção de um operador. É identificado em seu canal por uma "@" antes de seu nome de usuário. Esta classe possui comandos exclusivos, que podem ser utilizados apenas por eles:
** kick: expulsa um cliente do canal;
** mode: altera o modo do canal;
** invite: convida um cliente para um canal no modo +i;
** topic: altera o tópico do canal no modo +t.

## Referências

* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Internet Relay Chat Protocol (em inglês). The Internet Engineering Task Force (Maio de 1993). Página visitada em 10 de setembro de 2011. "To create a new channel or become part of an existing channel, a user is required to JOIN the channel. If the channel doesn't exist prior to joining, the channel is created and the creating user becomes a channel operator. If the channel already exists, whether or not your request to JOIN that channel is honoured depends on the current modes of the channel. For example, if the channel is invite-only, (+i), then you may only join if invited. As part of the protocol, a user may be a part of several channels at once, but a limit of ten (10) channels is recommended as being ample for both experienced and novice users. [...] If the IRC network becomes disjoint because of a split between two servers, the channel on each side is only composed of those clients which are connected to servers on the respective sides of the split, possibly ceasing to exist on one side of the split. When the split is healed, the connecting servers announce to each other who they think is in each channel and the mode of that channel. If the channel exists on both sides, the JOINs and MODEs are interpreted in an inclusive manner so that both sides of the new connection will agree about which clients are in the channel and what modes the channel has. [...] The channel operator (also referred to as a "chop" or "chanop") on a given channel is considered to 'own' that channel. [...] As an owner of a channel, a channel operator is not required to have reasons for their actions, although if their actions are generally antisocial or otherwise abusive, it might be reasonable to ask an IRC operator to intervene [...]. The commands which may only be used by channel operators are: KICK - Eject a client from the channel MODE - Change the channel's mode INVITE - Invite a client to an invite-only channel (mode +i) TOPIC - Change the channel topic in a mode +t channel A channel operator is identified by the '@' symbol next to their nickname whenever it is associated with a channel [...]. [...] Each IRC message may consist of up to three main parts: the prefix (optional), the command, and the command parameters [...]. The prefix, command, and all parameters are separated by one (or more) ASCII space character(s) (0x20). The presence of a prefix is indicated with a single leading ASCII colon character (':', 0x3b), which must be the first character of the message itself. [...] The main goal of IRC is to provide a forum which allows easy and efficient conferencing (one to many conversations). [...] The PASS command is used to set a 'connection password'. The password can and must be set before any attempt to register the connection is made. Currently this requires that clients send a PASS command before sending the NICK/USER combination and servers *must* send a PASS command before any SERVER command. [...] It is possible to send multiple PASS commands before registering but only the last one sent is used for verification and it may not be changed once registered. [...] Example: PASS secretpasswordhere [...] NICK message is used to give user a nickname or change the previous one. [...] Example: NICK Wiz ; Introducing new nick "Wiz". :WiZ NICK Kilroy ; WiZ changed his nickname to Kilroy."
* 1 2 3 4 5 Internet Relay Chat (IRC). InfoEscola (20 de julho de 2011). Página visitada em 9 de setembro de 2011. "Os comandos do IRC devem ser acompanhados da barra para a direita (/), indicando o comando correspondente. Como segue: /msg, envia mensagem privada; /join, entra no canal selecionado, /list, lista os canais do servidor e /quit, que fecha a conexão IRC. [...] Atualmente o IRC é utilizado em algumas redes ativas. E por pessoas que se interessam por estudar o desenvolvimento do sistema de protocolo de redes, como canais de troca de arquivos e suporte a usuários Linux. Atualmente as redes IRC estão por todo o mundo, dentre as maiores, podemos citar, AustNet, DALnet, PTnet, MindForge e Rizon. A maior rede IRC do mundo em quantidade de usuários é a Quakenet."
* 1 2 3 Internet Relay Chat (IRC). Departamento de Informática da Universidade Federal da Paraíba. Página visitada em 9 de setembro de 2011. "Os canais funcionam como "Salas Virtuais", sendo possível a criação de canais particulares com controle de acesso aos convidados. [...] O programa que você precisa para entrar no IRC é chamado um cliente IRC. [...] Um cliente irc lê os comandos que você passa a ele e os interpreta. Filtra e performa as ações apropriadas, e, se necessário, transmite para um servidor. [...] Qualquer linha começando com o caracter ‘/’ ‘é visto como um comando ircII (o caracter de comando pode ser mudado, basta digitar ‘/help set cmdchar’). Qualquer linha não começando com este caracter é tratada como uma mensagem a ser enviada ao canal corrente. Para ver uma listagem dos comandos digite ‘/help?’. [...] /nick Toda pessoa que estiver falando com você vê este nome, e ele é limitado a 9 caracteres. Seu apelido será o mesmo que seu nome de login por default. Você pode definir numa variável de ambiente chamada ircnick, o valor que será usado no lugar do seu nome de.login. Apelidos repetidos não são permitidos num mesmo servidor. Se o apelido que você deseja usar conflita com outro já existente, quando você tentar entrar no IRC receberá notificação que precisa mudar o apelido para conseguir entrar. [...] /list <flags> <channel mask> Lista todos os canais correntes, número de usuários, e tópico. A lista exibida pode ser muito longa, então você pode limita-lá usando flags. /list -min n, por exemplo, remove canais da listagem com menos de n pessoas. [...] /join <canal> Entra em um canal de conversação."
* 1 2 3 O IRC (Internet Relay Chat). Viva o Linux (4 de junho de 2008). Página visitada em 9 de setembro de 2011. "[...] o IRC é um protocolo de comunicação muito difundido na internet, além de servir para troca de arquivos entre seus usuários. [...] é bastante procurado, principalmente para fins específicos, como é o caso das comunidades GNU/Linux. [...] Primeiramente você deve acessar um servidor IRC, para depois entrar nos canais que este oferece e poder participar dos chats. [...] Você precisará de um apelido para participar dos chats. Escolha um e comande: /nick seuapelido E agora basta registrá-lo, para que ninguém mais possa usar um igual: /msg nickserv register escolhaumasenha seuemailválido Receberá um e-mail com os próximos passos para confirmar o registro. Na próxima vez que for acessar o IRC, basta informar ao nickserv que é você mesmo o dono do apelido. Para isto basta: /msg nickserv identify suasenhaescolhida"
* 1 2 3 O IRC ( Internet Relay Chat ). Comunidade Linux Brasil (28 de maio de 2008). Página visitada em 9 de setembro de 2011. "Primeiramente, você deve acessar um servidor IRC, para depois entrar nos canais que este oferece e poder participar dos chats. [...] Você precisará de um apelido para participar dos chats. Escolha um e comande: {xtypo_code}/nick seuapelido{/xtypo_code} [...] E agora basta registrá-lo, para que ninguém mais possa usar um igual: {xtypo_code}/msg nickserv register escolhaumasenha seuemailválido{/xtypo_code} Receberá um e-mail com os próximos passos para confirmar o registro. Na próxima vez que for acessar o IRC, basta informar ao nickserv que é você mesmo o dono do apelido. Para isto basta: {xtypo_code}/msg nickserv identify suasenhaescolhida{/xtypo_code"}
* 1 2 3 DOWNLOAD DE MP3 NO IRC PELO X-CHAT. Soy loco por ti. Página visitada em 10 de setembro de 2011. "Esses usuários que trocavam informações, procuraram dinamizar essa troca, inventando o DCC, um protocolo de transferência de dados direto entre dois usuários no IRC e que, além de Chat, pode ser usado também para envio de arquivos. [...] Vou entrar em um dos maiores canais de compartilhamento de MP3 que existem, o mp3passion na Undernet.org: /server eu.undernet.org # Conecta na Undernet /join #mp3passion # Entra no canal"
* 1 2 3 4 5 6 7 8 Internet Relay Chat. Universidade Federal do Rio Grande do Sul. Página visitada em 9 de setembro de 2011. "Os operadores são uma classe especial de clientes capazes de realizarem funções gerais de manutenção na rede IRC. A principal função dos operadores é desconectar e reconectar servidores, para prevenir o mau uso de roteamento. Além desta, os operadores podem realizar outras operações, como por exemplo, desconectar usuários. [...] Um canal é um grupo formado por um ou mais clientes que irá receber mensagens endereçadas a este canal. O canal é criado implicitamente quando o primeiro cliente junta-se a este canal (comando join). De forma análoga o canal deixa de existir quando o último cliente o deixa (comando part). Nomes de canais são cadeias de caracteres iniciadas com '&' ou '#' e de comprimento até 200 caracteres. Além disso o nome de um canal não pode conter nenhum espaço, ^G ou vírgula. [...] Operadores de canais são clientes que são considerados donos de determinados canais. Quando um novo canal é criado, o criador é o operador deste canal. Um operador de canal pode remover clientes deste, mudar o modo do canal, tornar outros clientes operadores deste canal, mudar o tópico do canal, etc. O operador de canal é identificado através do símbolo '@' que precedo o nickname do cliente. [...] JOIN: Comando usado por um cliente para começar a escutar um canal específico. [...] LIST: Informa todos os canais e seus tópicos. [...] QUIT: Uma sessão de cliente é terminada com uma mensagem deste tipo."
* 1 2 3 4 Dicas para mIRC. Hot Link. Página visitada em 10 de setembro de 2011. "O IRC (Internet Relay Chat) [...] possui muitas opcoes, como por exemplo, durante uma conversa (chat), enviar ou receber arquivos atraves do DCC. [...] Canal: Se constitui em um canal, ou sala de conversacao onde as pessoas conversam em grupos; [...] OP: Sao os Operadores de um canal, eles que controlam o canal, podendo kickar ou banir as pessoas, de acordo com a necessidade, sao somente eles que podem mudar o topico (se um canal estiver com modo +t); [...] Entrar em canal(join) ............. : /join #canal [...] Conectar em um server de IRC ...... : /server $servidor [...] Listar os canais de um servidor .. : /list [...] Trocar seu nick .................. : /nick $new_nick [...] Mandar msg = digitar normalmente . : /say $msg [...] Enviar arquivo via DCC ........ : /dcc send $nick $file [...] Abrir DCC Chat ................ : /dcc chat $nick [...] DCC: e por onde e possivel fazer a troca de arquivos, basta apenas enviar o arquivo e a pessoa aceitar (Get, Acept, etc) o envio do mesmo; [...] Um canal, ele tem que ter suas protecoes internas e automaticas, para nao depender somente dos ops e ircops. Esses modos permitem ao canal, que ele seja privado (+p), invisivel (secreto)(+s), somente os Ops podem mudar o topico(+t), nao recebera msgs de usuarios de fora do canal (+n), so entrarao usuarios chamados (invite) pelos ops (+i), podem ter um numero limitado de usuarios (+l), ser um canal moderado, ou seja, so os Ops e quem tiver VOICE pode falar (+m) e ate mesmo uma senha para vc entrar (+k)"
* 1 2 COMANDOS MIRC “by Drums”. Faculdades Integradas de Taquara. Página visitada em 10 de setembro de 2011. "Mudar de nick: /nick <novo nick> Registrar nick:: /nickserv register senha email Identificar nick:: /nickserv identify senha"
* 1 2 [App Chatmosphere IRC para BlackBerry]. BlackBerry Magazine (4 de dezembro de 2010). Página visitada em 9 de setembro de 2011. "Você tem opção de alterar o nickname. Pode fazer isso tanto automático clicando no botão de menu do blackberry quanto fazer automaticamente digitando na caixa de testo o comando: /nick SEUNICK Se ele estiver registrado, você vai precisar autenticar ele na rede IRC, para isso, use o comando: /NickServ IDENTIFY suasenha Caso ele não esteja registrado, você pode registrar digitando o comando: /NickServ register NICK SENHA"
* ↑ Comandos de IRC / mIRC. PThelp. Página visitada em 10 de setembro de 2011.
* ↑ Comandos de IRC. Cittadino Soares Vianna Advogados. Página visitada em 10 de setembro de 2011.
* ↑ Utilizando o IRC para pegar mp3. Som Brasil. Página visitada em 10 de setembro de 2011. "/join #nome_do_canal [...] Com esse comando você entrará no canal (sala de bate-papo) [...]. O # é o símbolo que vem antes dos nomes de canais de IRC."