Question

Je veux construire un robot qui fait essentiellement comme suit:

  1. Ecoutes dans la chambre et interagit avec les utilisateurs et les encourage à PM le bot.
  2. Une fois qu'un utilisateur a PMED le robot en prise avec le client en utilisant diverses techniques d'intelligence artificielle.

Dois-je utiliser la bibliothèque IRC ou sockets en python ou dois-je besoin de plus d'un cadre de bot.

Que feriez-vous?

Merci!

Voici le code que je utilise actuellement, mais je ne l'ai pas eu à travailler.

#!/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()
Était-ce utile?

La solution

Twisted ou asynchat si vous voulez avoir une conception saine d'esprit. Il est possible de le faire avec des prises mais pourquoi prendre la peine de le faire à partir de zéro?

Autres conseils

Si vous voulez avoir des techniques AI impliqués, alors je vous suggère de regarder AIML package pour Python. Il est de la même technologie que les robots ALICE se font dans.

Si ce que vous voulez est de créer la partie AI, pourquoi prendre la peine d'écrire tout le code nécessaire pour la connexion IRC par vous-même?

Je suggère d'utiliser supybot , et il suffit d'écrire votre code AI en tant que plug-in pour elle. Il y a une documentation raisonnablement compréhensible et beaucoup d'exemple de code pour trouver. Il est également livré avec une quantité décente de plug-ins pour toutes sortes d'utilisations qui pourraient compléter votre AI.

Comme je répondre ~ 2 ans plus tard, j'écris ceci juste pour Googlers :-P

Juste essayer mon 'Yet Another Bot IRC Inutile' ici https://github.com/julienpalard/yauib vous permettant de coder chaque fonction de votre robot à l'aide quelle que soit la langue que vous voulez.

J'ai fait un (très merdique, et depuis longtemps être refactorisé) IRC bot utilisant irclib . La documentation est à côté à rien, mais il se débarrasse de faire vous devez faire tout ce que la prise de connexion et ce qui est des choses que je ne veux vraiment pas à traiter. A chacun son propre, cependant.

Utilisez une bibliothèque IRC existant au lieu de mettre en œuvre le protocole vous-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top