Posted by: miky4e on: Ottobre 5, 2008
Ecco a voi, un semplicissimo articolo nel quale vi spiegherò come sviluppare un semplicissimo BOT IRC in Python.
Ma cosa è un BOT IRC?
La comunicazione IRC, come qualsiasi altra comunicazione in Internet, si basa semplicemente su uno scambio di byte. Per questo è possibile creare un programma che si colleghi come un normale utente ad un server IRC e possa ricevere o inviare messaggi.
Bisogna però specificare una cosa: quando noi ci connettiamo a IRC, in verità facciamo fare il grosso del lavoro al client IRC, che converte i messaggi che gli inviamo in forma semplificata in messaggi leggibili dal server, seguendo il protocollo IRC. Il bot però non può appoggiarsi ad un client, e quindi dovrà essere programmato per inviare messaggi leggibili dal server (più avanti è spiegato meglio come).
In questo modulo verrà spiegato come creare un proprio bot che si connette a IRC e riceve/invia messaggi dal/al server.
Il sorgente in questione è disponibile qui.
Ecco a voi invece il sorgente completo da poter consultare; il linguaggio utilizzato è Python.
#!/usr/bin/python
import socket
def botirc():
print”>>> Configurazione Bot >>>”
print”"
nome = raw_input (“Nome bot >>> “)
server = raw_input (“Server >>> “)
canale = raw_input (“Canale >>> “)
porta = 6667
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((server, porta))
sock.send (“NICK %s\r\n” % (nome))
sock.send(“USER 666 %s bla :%s\r\n” % (server,nome))
sock.send (“JOIN %s\r\n” % (canale))
while 1:
ricev = sock.recv(1024)
print ricev
if ricev.startswith (‘PING :’):
sock.send(‘PONG :’ + ricev.split(‘ ‘)[1] + ‘\r\n’)
botirc()
Non ci resta che creare un file bot_irc.py e copiarci dentro il sorgente.
Una volta aperto il terminale digitiamo:
python
Si aprirà l’interprete Python e digiteremo:
import bot_irc.py
Ed ecco che magicamente il nostro programma funzionerà da subito!
NOTA: per gli utenti Windows Python non è installato di default.
Dovete quindi procedere al download del pacchetto (interprete + IDE) da qui.
LICENZA: contenuto rilasciato sotto licenza Creative Commons; articolo prelevato da un altro blog
Ottobre 5, 2008 a 9:35 am
non male, il python i ha sempre affascinata, un giorno o l’altro comincerò anche io e questo può essere un ottimo spunto