Pregunta

Quiero construir un robot que básicamente hace lo siguiente:

  1. escucha a la habitación e interactúa con los usuarios y les anima a PM el bot.
  2. Una vez que un usuario ha PMED el bot se acoplan con el cliente utilizando diversas técnicas de IA.

¿Debo usar la biblioteca de IRC o sockets en python o necesito más de un marco bot.

¿Qué hacer?

Gracias!

Este es el código que estoy usando actualmente, sin embargo, no he conseguido que funcione.

#!/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()
¿Fue útil?

Solución

Uso Twisted o Asynchat si usted quiere tener un diseño cuerdo. Es posible que sólo lo hacen con tomas pero ¿por qué molestarse en hacerlo desde cero?

Otros consejos

Si usted quiere tener las técnicas de IA involucrados, entonces le sugiero que busque en el AIML paquete para Python. Es la misma tecnología que los robots se hacen en ALICE.

Si lo que desea es crear la parte AI, ¿por qué molestarse en escribir todo el código necesario para la conexión de IRC por sí mismo?

Supybot , y simplemente escribo tu AI-código como un plugin para ello. Existe documentación razonablemente comprensible y un montón de ejemplo de código de encontrar. Además, viene con una buena cantidad de plugins para todo tipo de usos que pueden complementar su IA.

Como estoy respondiendo ~ 2 años más tarde, estoy escribiendo esto sólo para los empleados de Google: -P

Solo trata de mi 'Sin embargo, otro IRC Bot Inútil' aquí https://github.com/julienpalard/yauib lo que le permite codificar cada rasgo de su robot utilizando cualquier idioma que desee.

Hice una (muy malo, y durante mucho tiempo se refactorizado) IRC bot usando irclib . La documentación está próxima a nada, pero se deshace de lo que usted tiene que hacer todo lo que toma de conexión y tal, que es algo que realmente no quiero tratar. A cada uno su propia cuenta, sin embargo.

Utilice una biblioteca de IRC existentes en lugar de implementar el protocolo de sí mismo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top