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.

amore bravissimo mi piace molto il logo :)
RispondiEliminabravooooo
Amoreee ovvio che farò la foto :) tanto tu mi conosci in qualsiasi veste lo so lo so che sei goloso prr xD TI AMO
RispondiEliminaciao fin qui è tt ok ma non mi va la parte nel caso di una richiesta specifica ovvero :
RispondiEliminaif ($text =~ /^\!List/i) {
print $fd "PRIVMSG $chan 14 Qui non cè lista entra nei chan tnx"; }
}
non risponde col messaggio tnx