11
votes

IRC Python Bot: meilleur moyen

Je veux construire un bot qui fait essentiellement les éléments suivants:

  1. écoute la pièce et interagit avec les utilisateurs et les encourage à pm le bot. Li>
  2. Une fois qu'un utilisateur a PMED, le BOT s'engage avec le client à l'aide de diverses techniques d'IA. li> ol>

    Dois-je simplement utiliser la bibliothèque ou les prises IRC en Python ou ai-je besoin de plus d'un cadre de bot? P>

    Que feriez-vous? P>

    Merci!

    Voici le code que je suis en train d'utiliser, cependant, je ne l'ai pas fait fonctionner. P>

    #!/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()
    


2 commentaires

Je suis proche de terminer un package IRC pour Python, ce qui pourrait être capable de vous aider. Je l'aurai disponible ici: Ircutils.evanfosmark.com


Impressionnant! Merci! Je vais garder cela à l'esprit!


6 Réponses :


7
votes

Si vous souhaitez avoir des techniques d'IA impliquées, je vous suggère de regarder le AIML package pour Python. C'est la même technologie que Alice Bots se fait.


1 commentaires

Merci pour la tête sur le paquet AIML!



12
votes

Utilisez tordu ou Asynchat Si vous voulez avoir une conception sainée. Il est possible de simplement le faire avec des prises, mais pourquoi la peine de le faire de zéro?


1 commentaires

Je viens de vérifier à nouveau torsadé et je l'ai trouvé sous la section IM. Merci pour le lien. Qu'est-ce que l'asynchat aidait exactement?



2
votes

J'ai fait un (très merde, et pour un long moment refactored) IRC BOT en utilisant IRCLIB . La documentation est presque-rien, mais elle se débarrasse de vous faire faire tout ce socket Connectant et tel, ce qui est des choses que je ne veux vraiment pas traiter. À chacun son propre, cependant.


0 commentaires

2
votes

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


0 commentaires

5
votes

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

Je suggère d'utiliser SUPYBOT , et écrivez simplement votre code AI comme plugin pour cela. Il y a une documentation raisonnablement compréhensible et beaucoup d'exemple de code à trouver. En outre, il s'agit d'une quantité décente de plugins pour toutes sortes d'utilisations pouvant compléter votre AI.


0 commentaires

3
votes

Comme je réponds ~ 2 ans plus tard, j'écris cela juste pour les googlers :-p

Essayez simplement mon "encore un autre Bot IRC inutile" ici https://github.com/julienpalard/yauib Vous permettant de coder chaque fonctionnalité de votre bot en utilisant la langue que vous souhaitez.


0 commentaires