Credo che tutti Voi conosciate Irc, perciò non vado a spiegare che cosa sia.
Torniamo a Noi,
Questo Codice che vi proporrò parla di un Bot in Perl per terminali Irc, ovvero un bot molto semplice che joina in un Canale Irc da voi scelto e scrive messaggi.
Iniziamo:
Come sempre inseriamo la stringa obbligatoria del PeRL#!/usr/local/bin/perl
#Bot IrC Scrito in PeRL - H4ck3D
use strict;
Adesso useremo un raw socket per connettere il bot al server IRC
use IO::Socket;
my $server = "irc.alienweb-irc.net";
my $nick = "BotSemplice";
my $login = "BotSemplice";
my $channel = "#LiNuZz`C0D3";
my $nick = "BotSemplice";
my $login = "BotSemplice";
my $channel = "#LiNuZz`C0D3";
Fatto ciò inseriamo la stringa che permette al bot di entrare su Irc
my $sock = new IO::Socket::INET(PeerAddr => $server,
PeerPort => 6667,
Proto => 'tcp') or
die "Non posso connettermi\n";
PeerPort => 6667,
Proto => 'tcp') or
die "Non posso connettermi\n";
Adesso inseriamo le stringhe per far riconoscere il bot al server IRc
print $sock "NICK $nick\r\n";
print $sock "USER $login 8 * :Ce la hai fatta!\r\n";
print $sock "USER $login 8 * :Ce la hai fatta!\r\n";
while (my $input = <$sock>) {
Questa stringa controlla le risposte numeriche inviate dal server.
if ($input =~ /004/) {
# Siamo connessi.
last;
}
elsif ($input =~ /433/) {
die "Il nickname scelto è già in uso";
}
}
Adesso mettiamo la stringa per farlo Joinare nel Canale
print $sock "JOIN $channel\r\n";
Questo server per continuare a farlo leggere al server IRC
while (my $input = <$sock>) {
chop $input;
if ($input =~ /^PING(.*)$/i) {
Dobbiamo rispondere ai PING per non essere disconnessi dal server.
print $sock "PONG $1\r\n";
}
else {
Scrive la linea raw ricevuta dal bot.
print "$input\n";
}
}
Questo scrive il messaggio nel canale desiderato
print $sock "PRIVMSG #LiNuZz`C0D3 :Salve Gente \r\n";
Questo scrive il messaggio ad un determinato Nick
print $sock "PRIVMSG Nick : Ciao a te \r\n";
Ed ecco un Semplicissimo Bot Irc Sviluppato in PeRL
Spero che la guida sia stata utile, ma soprattuto da Esempio per le Vostre Creazioni di Prova.
Alla Prossima.








