|
@@ -27,7 +27,6 @@ close CLOCKPO;
|
|
|
|
|
|
srand (time ^ $$ ^ unpack "%L*", `ps axww | gzip -f`);
|
|
|
|
|
|
-my $changefile="/home/tc-14/var/changelog";
|
|
|
my $last_tweet="";
|
|
|
my $debug=0;
|
|
|
my $bingo=0;
|
|
@@ -39,15 +38,21 @@ my $timeout=30;
|
|
|
my $warndate=time()-$timeout;
|
|
|
|
|
|
Irssi::settings_add_str($IRSSI{name}, # default fifo_remote_file
|
|
|
- 'tc_chans', '#flood #starwars'); #
|
|
|
+ 'tc_admin_chans', '#flood #starwars'); #
|
|
|
Irssi::settings_add_str($IRSSI{name}, # default fifo_remote_file
|
|
|
'tc_admins', 'asr coin plop'); #
|
|
|
Irssi::settings_add_str($IRSSI{name}, # default fifo_remote_file
|
|
|
- 'tc_changefile', '/home/tc-14/var/last.log'); #
|
|
|
+ 'tc_logfile', '/home/tc-14/var/last.log'); #
|
|
|
+Irssi::settings_add_str($IRSSI{name}, # default fifo_remote_file
|
|
|
+ 'tc_changefile', '/home/tc-14/var/changelog'); #
|
|
|
+Irssi::settings_add_str($IRSSI{name}, # default fifo_remote_file
|
|
|
+ 'tc_tailgrep', '/home/tc-14/bin/tailgrep'); #
|
|
|
|
|
|
my @chan=split m/ /, Irssi::settings_get_str("tc_chans");
|
|
|
my @admin_chan=split m/ /, Irssi::settings_get_str("tc_admins");
|
|
|
-my $change=Irssi::settings_get_str("tc_changefile");
|
|
|
+my $logfile=Irssi::settings_get_str("tc_logfile");
|
|
|
+my $changefile=Irssi::settings_get_str("tc_changefile");
|
|
|
+my $tailgrep=Irssi::settings_get_str("tc_tailgrep");
|
|
|
|
|
|
sub in_array {
|
|
|
my ($arr,$search_for) = @_;
|
|
@@ -77,6 +82,9 @@ my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
|
|
|
#print ( "C:$target X:$text A:$admin D:$warndate L:$last W:$warn N:$nick D:$data" );
|
|
|
|
|
|
+ @admin_chan=split m/ /, Irssi::settings_get_str("tc_admins");
|
|
|
+ @chan=split m/ /, Irssi::settings_get_str("tc_chans");
|
|
|
+
|
|
|
sub send_server($$$$) {
|
|
|
my ($action,$cible,$pseudo,$msg)=@_;
|
|
|
$server->command ( "msg $target SWarn C:$cible X:$action A:$admin D:$warndate L:$last W:$warn N:$pseudo T:$msg" ) unless ($debug == 0);
|
|
@@ -117,6 +125,7 @@ my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
}
|
|
|
|
|
|
if ( $text =~ /^!tweet\s*(.*)/) {
|
|
|
+ $changefile=Irssi::settings_get_str("tc_changefile");
|
|
|
if (in_array(@admin_chan, $target)) { return ; }
|
|
|
if ($1 eq '') { $server->command("msg $target $nick: Usage: !tweet <<message>>"); } #$server->command ( "msg $target $nick: !tweet <<mesage>>" ); }
|
|
|
elsif ($1 eq 'changelog') {
|
|
@@ -156,7 +165,8 @@ my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
elsif ( $text =~ /^!changelog( .+)?/ ) {
|
|
|
if (in_array(@admin_chan,$target))
|
|
|
{ return; }
|
|
|
- if ($1 eq '') { $server->command ( "msg $target $nick: !changelog (list|add) [<serveur> [<liste d'actions>]]" );
|
|
|
+ $changefile=Irssi::settings_get_str("tc_changefile");
|
|
|
+ if ($1 eq '') { $server->command ( "msg $target $nick: !changelog (list|add|last) [-n nb lignes (pour list)] [<serveur> [<liste d'actions>]]" );
|
|
|
} elsif ($1 =~ /^ last( .+)?/) {
|
|
|
open ( CHANGL, "tail -n1 $changefile |" ) or $server->command ( "msg $target $nick: fichier vide" );
|
|
|
chomp( @temp = <CHANGL> );
|
|
@@ -167,14 +177,16 @@ my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
} elsif ($1 =~ /^ list( .+)?/) {
|
|
|
undef @temp;
|
|
|
if ($1 eq '') {
|
|
|
- $server->command ( "msg $target $nick: changelog total (20 lignes) en pv." );
|
|
|
+ $server->command ( "msg $target $nick: changelog en pv." );
|
|
|
open ( CHANGL, "tail $changefile |" ) or $server->command ( "msg $target $nick: fichier vide" );
|
|
|
} else {
|
|
|
my $pattern = $1;
|
|
|
$pattern =~ s/^ //;
|
|
|
$pattern =~ s/['"\$]/_/g;
|
|
|
- $server->command ( "msg $target $nick: changelog pour '$pattern' (20 lignes) en pv" );
|
|
|
- open ( CHANGL, "/home/tc-14/bin/tailgrep $changefile '$pattern' |" ) or $server->command ( "msg $target $nick: erreur de pattern ou fichier vide" );
|
|
|
+ $server->command ( "msg $target $nick: changelog pour '$pattern' en pv" );
|
|
|
+ $tailgrep=Irssi::settings_get_str("tc_tailgrep");
|
|
|
+ Irssi::print(">> changelog list $pattern");
|
|
|
+ open ( CHANGL, "$tailgrep $changefile !changelog $pattern |" ) or $server->command ( "msg $target $nick: erreur de pattern ou fichier vide" );
|
|
|
}
|
|
|
chomp( @temp = <CHANGL> );
|
|
|
close CHANGL;
|
|
@@ -188,34 +200,39 @@ my ($target, $text) = $data =~ /^(\S*)\s:(.*)/;
|
|
|
|
|
|
close CHANGL or $server->command ( "msg $target $nick: erreur de fichier... (C)" );
|
|
|
$clocky = $clockpo[rand @clockpo];
|
|
|
- send_server("msg", $target, $nick, $clocky) unless ($nick =~ /edgard/i);
|
|
|
+ $server->command ( "msg $target $nick: $clocky" );
|
|
|
+ #send_server("msg", $target, $nick, $clocky) unless ($nick =~ /edgard/i);
|
|
|
|
|
|
} else {
|
|
|
- $server->command ( "msg $target $nick: !changelog (list|add|last) [<serveur> [<liste d'actions>]]" );
|
|
|
+ $server->command ( "msg $target $nick: !changelog (list|add|last) [nb lignes (pour list)] [<serveur> [<liste d'actions>]]" );
|
|
|
}
|
|
|
}
|
|
|
elsif ( $text =~ /^!lastlog( .+)?/ ) {
|
|
|
if (in_array(@admin_chan,$target))
|
|
|
{ return; }
|
|
|
- if ($1 eq '') { $server->command ( "msg $target $nick: !lastlog list [<liste d'actions>]" );
|
|
|
+ if ($1 eq '') { $server->command ( "msg $target $nick: !lastlog list [-n NBLignes] [<liste d'actions>]" );
|
|
|
} elsif ($1 =~ /^ list( .+)?/) {
|
|
|
undef @temp;
|
|
|
+ $logfile=Irssi::settings_get_str("tc_logfile");
|
|
|
+ Irssi::print(">> $logfile - $pattern");
|
|
|
if ($1 eq '') {
|
|
|
- $server->command ( "msg $target $nick: lastlog total (20 lignes) en pv." );
|
|
|
+ $server->command ( "msg $target $nick: lastlog global en pv." );
|
|
|
open ( CHANGL, "tail $logfile |" ) or $server->command ( "msg $nick fichier vide" );
|
|
|
} else {
|
|
|
my $pattern = $1;
|
|
|
+ $tailgrep=Irssi::settings_get_str("tc_tailgrep");
|
|
|
$pattern =~ s/^ //;
|
|
|
$pattern =~ s/['"\$]/_/g;
|
|
|
- $server->command ( "msg $target $nick: lastlog pour '$pattern' (20 lignes) en pv." );
|
|
|
- open ( CHANGL, "/homet/tc-14/bin/tailgrep $logfile '$pattern' |" ) or $server->command ( "msg $target $nick: erreur de pattern ou fichier vide" );
|
|
|
+ $server->command ( "msg $target $nick: lastlog pour '$pattern' en pv." );
|
|
|
+ open ( CHANGL, "$tailgrep $logfile !lastlog '$pattern' |" ) or $server->command ( "msg $target $nick: erreur de pattern ou fichier vide" );
|
|
|
}
|
|
|
chomp( @temp = <CHANGL> );
|
|
|
close CHANGL;
|
|
|
foreach $line (@temp) {
|
|
|
$server->command ( "msg $nick $line" );
|
|
|
+ Irssi::print("-- $line");
|
|
|
}
|
|
|
- } else { $server->command ( "msg $target $nick: !lastlog list [<liste d'actions>]" );
|
|
|
+ } else { $server->command ( "msg $target $nick: !lastlog list [-n NBLignes] [<liste d'actions>]" );
|
|
|
}
|
|
|
}
|
|
|
if ($debug == 1) {
|