IRC Python Bot: Best Way [fechado]
Pergunta
Eu quero construir um bot que basicamente faz o seguinte:
- ouve o quarto e interage com os usuários e encoraja-os a PM do bot.
- Uma vez que um utilizador Pmed o bot se envolver com o cliente usando várias técnicas de IA.
Eu deveria usar a biblioteca IRC ou Sockets em python ou eu preciso mais de um quadro de bot.
O que você faria?
Obrigado!
Aqui está o código que estou usando atualmente, no entanto, não ter começado a trabalhar.
#!/usr/bin/python
import socket
network = 'holmes.freenet.net'
port = 6667
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect ( ( network, port ) )
irc.send ( 'NICK PyIRC\r\n' )
irc.send ( 'USER PyIRC PyIRC PyIRC :Python IRC\r\n' )
irc.send ( 'JOIN #pyirc\r\n' )
irc.send ( 'PRIVMSG #pyirc :Can you hear me?\r\n' )
irc.send ( 'PART #pyirc\r\n' )
irc.send ( 'QUIT\r\n' )
irc.close()
Outras dicas
Se você quiser ter técnicas de IA envolvidos, então eu sugiro que você olhar para o href="http://pyaiml.sourceforge.net/" rel="noreferrer"> AIML pacote para Python. É a mesma tecnologia que bots ALICE são feitas em.
Se o que você quer é criar a parte AI, por que se preocupar escrever todo o código necessário para a conexão IRC por si mesmo?
Eu sugiro usar supybot , e simplesmente escrever o seu AI-código como um plugin para isso. Há documentação e lotes de exemplo código razoavelmente compreensível para encontrar. Além disso, ele vem com uma quantidade razoável de plugins para todos os tipos de usos que podem complementar a sua AI.
Como eu estou respondendo ~ 2 anos mais tarde, eu estou escrevendo isso apenas para Googlers :-P
Apenas tente meu 'Yet Another Bot IRC Useless' aqui https://github.com/julienpalard/yauib permitindo que você código de cada característica do seu bot usando a língua que desejar.
Eu fiz um (muito ruim, e por um longo tempo sendo reformulado) IRC bot usando irclib . A documentação é seguinte-à-nada, mas ele se livrar de fazer você tem que fazer tudo o que tomada de ligação e tal, que é uma coisa que eu realmente não quero lidar com eles. Para cada um o seu próprio, no entanto.
Use uma biblioteca existente IRC em vez de implementar o protocolo de si mesmo.