From ab3ce83823b7f60c51b4ce492158bc1184b7748c Mon Sep 17 00:00:00 2001 From: Andreas Scherbaum Date: Thu, 2 Feb 2012 01:00:48 +0100 Subject: [PATCH] - mark session activity by using "raw_irc" and "raw_irc_out" --- docbot.pl | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/docbot.pl b/docbot.pl index c6c56af..316fa48 100755 --- a/docbot.pl +++ b/docbot.pl @@ -146,7 +146,8 @@ foreach my $session (keys(%main::sessions)) { Nick => $main::sessions{$session}{'nickname'}, Ircname => $name, Server => $server, - Port => $port + Port => $port, + Raw => 1 ); if (!$irc) { print_msg("Could not spawn POE session: $!", ERROR); @@ -172,6 +173,8 @@ foreach my $session (keys(%main::sessions)) { irc_ping => \&on_ping, autoping => \&do_autoping, irc_error => \&on_error, + irc_raw => \&on_irc_raw, + irc_raw_out => \&on_irc_raw_out, }, heap => { irc => $irc }, ); @@ -2000,6 +2003,34 @@ sub on_quit { } +# on_irc_raw() +# +# set session activity (incoming traffic) +# +sub on_irc_raw { + my ($sender, $kernel, $heap, $raw) = @_[SENDER, KERNEL, HEAP, ARG0]; + + my $irc = $sender->get_heap(); + my $session = find_irc_session($irc); + + set_session_activity($session); +} + + +# on_irc_raw_out() +# +# set session activity (outgoing traffic) +# +sub on_irc_raw_out { + my ($sender, $kernel, $heap, $raw) = @_[SENDER, KERNEL, HEAP, ARG0]; + + my $irc = $sender->get_heap(); + my $session = find_irc_session($irc); + + set_session_activity($session); +} + + ## http://poe.perl.org/?POE_Cookbook/IRC_Bot_Debugging ## http://poe.perl.org/?POE_Cookbook/IRC_Bot_Disconnecting ## http://poe.perl.org/?POE_Cookbook/IRC_Bot_Reconnecting @@ -2058,8 +2089,6 @@ if (substr($event, 0, 1) eq '_') { case('irc_topic') { $print_it = 0; } case('irc_ctcp_action') { $print_it = 0; } case('irc_ctcp') { $print_it = 0; } - case('irc_raw') { $print_it = 0; } - case('irc_raw_out') { $print_it = 0; } case('irc_isupport') { $print_it = 0; } case('irc_nick') { $print_it = 0; } case('autoping') { $print_it = 0; } -- 2.39.5