Cliente IRC (Internet Relay Chat) simples escrito em Python 2
Agradecimentos especiais a Ilie Cebanu (https://github.com/NotQuiteMelvin) pela versão Python 3.
Para ingressar em qualquer canal (no Freenode) com o nome de usuário selecionado, basta executar irc_client.py e colocar o nome de usuário desejado como primeiro argumento, seguido pelo nome do canal (com o seguinte # ou sem):
./irc_client.py myusername channeltojoin
ou
./irc_client.py myusername #channeltojoin // actually not working :)
Parece que passar o nome do canal com o seguinte script # break, já que o Python trata # como o início do comentário?
É assim que parece agora (console esquerdo: irc_client.py, console direito: irssi):
Adicionei a versão compilada ao arquivo de bytecode Python (com extensão .pyc). A compilação é feita pelo comando:
$ python -m compileall irc_client.py
Pode ser útil obter a versão binária em vez do código fonte.
mensagens multilinhas não funcionam (relacionada à falta de resposta do servidor quando nenhum outro usuário posta mensagem)
saída às vezes alterada por mensagens do servidor (como PING)
falta de UX - apenas mensagens simples de uma linha podem ser enviadas :)
irc.freenode.net (servidor) e porta 6667 codificados - mas podem ser facilmente adicionados como argumentos
o nome do canal deve ser passado sem #
inicial
saída colorida (TBD)
https://en.wikipedia.org/wiki/Internet_Relay_Chat
RFC 1459 (protocolo de bate-papo de retransmissão da Internet)
https://tools.ietf.org/html/rfc1459
Referência de códigos de resposta do servidor IRC
https://www.alien.net.au/irc/irc2numerics.html
RFC 2812 (Internet Relay Chat: Protocolo Cliente):
https://tools.ietf.org/html/rfc2812
Outros recursos:
http://chi.cs.uchicago.edu/chirc/irc_examples.html
http://books.msspace.net/mirrorbooks/irchacks/059600687X/irchks-CHP-13-SECT-2.html