Sélectionner une révision Git
-
TC a rédigé
Correction du bug de maxlinelen et de coupage de messages Changement de façon de retrouver les permissions d'accès aux commandes via le fichier (on ne regarde que la première ligne maintenant)
TC a rédigéCorrection du bug de maxlinelen et de coupage de messages Changement de façon de retrouver les permissions d'accès aux commandes via le fichier (on ne regarde que la première ligne maintenant)
bot.pl 4,79 Kio
#!/usr/bin/perl
#
# Bot IRC
#
# @author TC (aka Romain Coltel)
# @date 2010-03-26 - First release
#
#
BEGIN {
use strict;
use warnings;
use Core::Command_line_args;
use Core::Config;
use Core::Getpass;
use Core::Logging;
# Ça c'est pour utiliser nos librairies avant celles installées sur le système
# Ça sert notamment pour Net::IRC, vu que je l'ai patchée (http://coltel.iiens.net/patch_Net_IRC)
my $incpath = pop @INC;
unshift @INC, $incpath;
# On vérifie qu'on n'a pas trop de droits
open ID, "id |" or die "Unable to run `id`\n";
my $id = <ID>;
close ID;
if($id =~ /uid=(\d+)\(([A-Za-z]+)\)/)
{
if($1 == 0 || $2 eq "root")
{
print STDERR "I don't wanna be running with privileges";
exit 2;
}
}
# On regarde les arguments passés en ligne de commande ensuite
if($#ARGV != -1)
{
# S'il y a des arguments, on jette un oeil dessus
Command_line_args::process_args(\@ARGV);
}
# Récupérons notre mdp Nickserv de celui qui lance le bignouf
my $pass = Getpass::get_pass("NickServ");
$Config::passwd = $pass;
}
use Net::IRC;
use Core::Hook;
use Core::Refresh;
use Net::Domain qw(hostfqdn);
# On initialise le module en charge des logs
our $logger = new Logging(
$Config::debug > 1 ? "STDOUT": $Config::logfile,
1,
1
);
$logger->utf8(1);
# On créé une instance du module pour mettre à jour les scripts
our $refresher = new Refresh();