Moved QUIT chanusers update to Core::IRC and switched to a hashref %src for on_quit.

This commit is contained in:
Elijah Perrault committed 2011-02-09 15:09:38 -07:00
1 parent 2524262a6f
commit 079f9dc5a9
2 files changed
+13 -6

No files matched your search

+12
View File
@@ -28,6 +28,18 @@ hook_add("on_uprivmsg", "ctcp_version_reply", sub {
return 1;
});
# QUIT hook; delete user from chanusers.
hook_add("on_quit", "quit_update_chanusers", sub {
my (($svr, $src, undef)) = @_;
my %src = %{ $src };
# Delete the user from all channels.
foreach my $ccu (keys %{ $Parser::IRC::chanusers{$svr} }) {
if (defined $Parser::IRC::chanusers{$svr}{$ccu}{$src{nick}}) { delete $Parser::IRC::chanusers{$svr}{$ccu}{$src{nick}}; }
}
return 1;
});
1;
# vim: set ai sw=4 ts=4:
+1 -6
View File
@@ -609,11 +609,6 @@ sub quit
my ($svr, @ex) = @_;
my %src = API::IRC::usrc(substr($ex[0], 1));
# Delete the user from all channels.
foreach my $ccu (keys %{ $chanusers{$svr} }) {
delete $chanusers{$svr}{$ccu}{$src{nick}} if defined $chanusers{$svr}{$ccu}{$src{nick}};
}
# Set $msg to the quit message.
my $msg = 0;
if (defined $ex[2]) {
@@ -626,7 +621,7 @@ sub quit
}
# Trigger on_quit.
API::Std::event_run("on_quit", ($svr, %src, $msg));
API::Std::event_run("on_quit", ($svr, \%src, $msg));
return 1;
}