File: //usr/local/share/perl5/Net/OSCAR/Callbacks/3/buddy_signoff.pm
package Net::OSCAR::Callbacks;
BEGIN {
$Net::OSCAR::Callbacks::VERSION = '1.928';
}
use strict;
use warnings;
use vars qw($connection $snac $conntype $family $subtype $data $reqid $reqdata $session $protobit %data);
sub {
my $buddy = $data{screenname};
my($grpname, $group) = $session->findbuddy($buddy);
return unless $grpname;
delete $session->{userinfo}->{$buddy};
my $budinfo = $group->{members}->{$buddy};
foreach (keys %$budinfo) {
delete $budinfo->{$_} unless /^(?:buddyid|data|__BLI.*|alias|online|comment|screenname)$/;
}
$budinfo->{online} = 0;
$connection->log_print(OSCAR_DBG_DEBUG, "And so, another former ally has abandoned us. Curse you, $buddy!");
$session->callback_buddy_out($budinfo->{screenname}, $grpname);
};