2009-07-08 21 views
10

voglio costruire un bot che fa sostanzialmente la seguente:IRC Python Bot: Modo migliore

  1. ascolta la stanza e interagisce con gli utenti e li incoraggia a PM bot.
  2. Una volta che un utente ha attivato PM il bot interagisce con il client utilizzando varie tecniche AI.

Dovrei semplicemente usare la libreria IRC o Socket in python o ho bisogno di più di un framework di bot.

Cosa vorresti fare?

Grazie!

Ecco il codice Attualmente sto usando, però, non ho ottenuto di lavorare.

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

Sono vicino a finire un pacchetto IRC per Python che potrebbe essere in grado di aiutarti. Lo avrò disponibile qui: http://ircutils.evanfosmark.com/ –

+0

Fantastico! Grazie! Terrò questo in mente! –

risposta

12

Utilizzare Twisted o Asynchat se si desidera avere un design sano. È possibile farlo solo con le prese, ma perché preoccuparsi di farlo da zero?

+0

Ho appena controllato di nuovo Twisted e l'ho trovato nella sezione IM. Grazie per il link. Che cosa aiuta esattamente Asynchat? –

+0

Codice di rete. – Unknown

7

Se si desidera avere tecniche di IA coinvolti, allora vi consiglio di guardare il pacchetto AIML per Python. È la stessa tecnologia utilizzata per i robot ALICE.

+1

Grazie per l'heads up sul pacchetto AIML! –

2

Ho fatto un (molto scadente, e per lungo tempo refactored) IRC bot utilizzando irclib. La documentazione è prossima a nulla, ma si libera di farti fare tutto quel collegamento di socket e così via, che sono cose che davvero non voglio affrontare. A ciascuno il suo, però.

2

Utilizzare una libreria IRC esistente invece di attuazione del protocollo di te stesso.

5

Se quello che vuoi è quello di creare la porzione di intelligenza artificiale, perché preoccuparsi di scrivere tutto il codice necessario per il collegamento IRC da soli?

Io suggerisco di usare SupyBot, e semplicemente scrivere il vostro AI-codice come un plugin per esso. C'è una documentazione ragionevolmente comprensibile e un sacco di codice di esempio da trovare. Inoltre, viene fornito con una discreta quantità di plugin per tutti i tipi di usi che potrebbero integrare la tua intelligenza artificiale.

3

Come sto rispondendo ~ 2 anni più tardi, sto scrivendo questo solo per Googler :-P

Basta provare il mio 'Ancora un altro Bot IRC Useless' qui https://github.com/julienpalard/yauib che vi permette di codificare ogni caratteristica del vostro bot usando qualunque lingua tu voglia.

Problemi correlati