All pastes #926222 Raw Edit

bot irc

public text v1 · immutable
·published 2008-03-03 16:48 UTC
rendered paste body
#!/usr/local/bin/perl

use strict;
use warnings;
use Net::IRC;
# On utilise la librairie Net::IRC pour se connecter à IRC



# Configuration des options de connexion (serveur, login) :
my $server = 'IRC.EpiKnet.org';
my $nick = 'perlBot_v1';


# Informations concernant le Bot :
my $ircname = 'Bot IRC Perl';
my $username = 'perlBot';
my $version = '1.0';

# Channel sur lequel on veut que le Bot aille :
my $channel = '#ktk';
# On crée l'objet qui nous permet de nous connecter à IRC :
my $irc = new Net::IRC;


# On crée l'objet de connexion à IRC :
my $conn = $irc->newconn(
    'Server'      => $server,
    'Port'        => 6667, 
    'Nick'        => $nick,
    'Ircname'     => $ircname,
    'Username'    => $username
);
# On installe les fonctions de Hook :
$conn->add_handler('376', \&on_connect);         # Fin du MOTD => on est connecté
$conn->add_handler('public', \&on_public);       # Sur le chan
# On lance la connexion et la boucle de gestion des événements :
$irc->start();

sub on_connect #se connecte et affiche un message
{
    my ($conn, $event) = @_;
    
    $conn->join($channel);
    $conn->privmsg($channel, 'Salutations !');
    print "<$nick>\t| Salut les membres de la team KTK! \n";
    
    $conn->{'connected'} = 1;
} # Fin on_connect

sub on_public # surveille les messages de membres
{
    my ($conn, $event) = @_;
    my $text = $event->{'args'}[0];
    print "<" . $event->{'nick'} . ">\t| $text\n"; 
} # Fin on_public