Sélectionner une révision Git
-
Alexandre Morignot a rédigéAlexandre Morignot a rédigé
irc.pm 6,74 Kio
package sessions::irc;
use strict;
use warnings;
use DBI;
use POE;
use POE::Component::IRC;
use POSIX 'strftime';
use Tie::File;
use JSON;
use Module::Reload;
use FindBin;
use lib "$FindBin::Bin/lib/";
use utils::Logging;
use sites::parser;
use commands::parser;
my $log = Logging->new('STDOUT', 1);
local $/;
open CONF, '<', 'playbot.conf';
my $json = <CONF>;
my $conf = decode_json($json);
## CONNEXION
my ($irc) = POE::Component::IRC->spawn();
my $dbh = DBI->connect('DBI:mysql:'.$conf->{'bdd'}.';host='.$conf->{'host'}, $conf->{'user'}, $conf->{'passwd'}, {
PrintError => 0,
AutoCommit => 1,
mysql_auto_reconnect => 1
})
or die("Couldn't connect to database: ".DBI->errstr);
# config
my $serveur = 'IRC.iiens.net';
my $nick = 'PlayBot';
my $port = 6667;
my $ircname = 'nightiies';
my $username = 'nightiies';
my @channels = qw(#nightiies #dansiie #pimpim #vitamine #fanfare #groop #bigphatsubwoofer #muzzik #leagueoflegends #toof);
my $admin = 'moise';
my $baseurl = 'http://nightiies.iiens.net/links/';
my @nicksToVerify;
my @codesToVerify;
my %lastID;
my $debug = 0;
# mode debug
if ($#ARGV + 1) {
@channels = qw(#hormone);
$nick = 'kikoo';
$debug = 1;
}
# Evenements que le bot va gérer
POE::Session->create(
inline_states => {
_start => \&bot_start,
irc_001 => \&on_connect,
irc_public => \&on_speak,
irc_msg => \&on_query,
irc_invite => \&on_invite,
irc_notice => \&on_notice,
_flux => \&flux,
_later => \&later
},
);