Benvenuto

Benvenuti Su LiNuZz`,
Qui Troverete Source, C0D3 & Notizie Sui Vari Linguaggi Di ProGRaMMaZioNe e Tutto Sul MonDo LiNuX

Ubuntu Distro H4ck3D Os

martedì 31 maggio 2011

Creazione Bot Irc in PeRL

Adesso Vi presenterò un codice in perl inerente al Mondo Irc.
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

Usiamo il cancelletto per scrivere Commenti all' interno del codice.
#Bot IrC Scrito in PeRL - H4ck3D

use strict;

Adesso useremo un raw socket per connettere il bot al server IRC
use IO::Socket;

Fatto ciò inseriamo con Variabili o Array i dati per la connessione IRC
my $server = "irc.alienweb-irc.net";
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";

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";
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.

3 commenti:

  1. amore bravissimo mi piace molto il logo :)
    bravooooo

    RispondiElimina
  2. Amoreee ovvio che farò la foto :) tanto tu mi conosci in qualsiasi veste lo so lo so che sei goloso prr xD TI AMO

    RispondiElimina
  3. ciao fin qui è tt ok ma non mi va la parte nel caso di una richiesta specifica ovvero :
    if ($text =~ /^\!List/i) {
    print $fd "PRIVMSG $chan 14 Qui non cè lista entra nei chan tnx"; }
    }
    non risponde col messaggio tnx

    RispondiElimina