Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • d1b54191acfb18496fdbfe1c928bd3a2fa829421
  • master par défaut protégée
  • postdominancefrontier
  • Rapport_presentation
4 résultats

aux_values.c

Blame
  • 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();