Milkbone.pm:25:our @EXPORT = qw( hook is_running abort queued_hook register_hook option path data %ARGS slurp
Milkbone.pm:26:	deregister_hook strip_html user_file set_option MOSLoop set_interval);
Milkbone.pm:31:our (%hooks, %options, %data);
Milkbone.pm:56:	register_hook("load_options", \&load_options);
Milkbone.pm:57:	register_hook("load_plugins", \&load_plugins);
Milkbone.pm:58:	register_hook("post_mainloop", \&post_mainloop);
Milkbone.pm:59:	register_hook("pre_mainloop", \&pre_mainloop);
Milkbone.pm:60:	register_hook("save_options", \&save_options);
Milkbone.pm:61:	register_hook("error", \&error);
Milkbone.pm:187:sub hook
Milkbone.pm:189:	my ($hook, %args) = @_;
Milkbone.pm:193:	warn "Unregistered hook called: $hook" . ' ' . join(' ', caller) . "\n" if !exists($hooks{$hook});
Milkbone.pm:197:	for $hook (@{$hooks{$hook}})
Milkbone.pm:201:		$ARGS{$_} = $hook->{args}->{$_} for %{$hook->{args}};
Milkbone.pm:202:		$res = $hook->call;
Milkbone.pm:210:sub register_hook
Milkbone.pm:212:	my ($hook, $coderef, $args) = @_;
Milkbone.pm:214:	my $entry = new Milkbone::HookEntry($hook, $coderef, $args, $package);
Milkbone.pm:216:	push @{$hooks{$hook}}, $entry;
Milkbone.pm:219:sub deregister_hook
Milkbone.pm:221:	my ($hook) = @_;
Milkbone.pm:223:	my @temp = @{$hooks{$hook}};
Milkbone.pm:225:	die "Required hook missing" if !exists($hooks{$hook}) and $hook eq "tick";
Milkbone.pm:226:	warn "Unregistered hook deleted: $hook" if !exists($hooks{$hook});
Milkbone.pm:228:	@temp = grep { ($_->{package} ne $package) && ($_->{hook_name} ne $hook) } @temp;
Milkbone.pm:230:	@{$hooks{$hook}} = @temp;
Milkbone.pm:238:		hook("tick");
Milkbone.pm:249:	hook("save_options");
Milkbone.pm:336:	hook("error", -short => join(' ', @_), -long => longmess(join(' ', @_)), -fatal => 1);
Milkbone.pm:342:	hook("error", -short => join(' ', @_), -long => longmess(join(' ', @_)));
mos.pl:35:			hook("load_options");
mos.pl:36:			hook("load_plugins");
mos.pl:42:	hook("load_options");
mos.pl:43:	hook("load_plugins");
mos.pl:44:	hook("pre_mainloop");
mos.pl:46:	hook("create_logon_prompt");
mos.pl:51:	hook("post_mainloop");
plugins/Milkbot.pl:21:register_hook("signed_in", \&init);
plugins/Milkbot.pl:24:	hook("protocol_get_realname", -user => $me = $ARGS{-me});
plugins/Milkbot.pl:26:	register_hook("milkbot_set_command", sub {
plugins/Milkbot.pl:29:	hook("milkbot_get_commands");
plugins/Milkbot.pl:30:	register_hook("msg_in", \&on_im);
plugins/Milkbot.pl:41:		hook("milkbot_command", -cmd => $cmd);
plugins/Milkbot.pl:42:		hook("milkbot_command_$cmd", -user => $from, -msg => $msg);
plugins/Milkbot.pl:51:	hook("protocol_send_im", -dest => $to, -msg => $msg, -away => $away);
plugins/Forum-Check/Forum-Check.pl:12:register_hook("pre_mainloop", sub {
plugins/Forum-Check/Forum-Check.pl:17:	my $mw = hook("tk_getmain");
plugins/Forum-Check/Forum-Check.pl:24:			hook("error", -short => "New posts in the BATKINS forum.");
plugins/Forum-Check/Speak.pl:20:register_hook("msg_in", sub { say("You have a message from $ARGS{-user}"); });
plugins/Win32X.pl:13:register_hook("flash_window", sub {
plugins/XAMP.pl:17:register_hook "signed_in", sub {
plugins/XAMP.pl:19:	hook("protocol_commit_info");
plugins/XAMP.pl:21:	hook("tk_getmain")->repeat(5000, sub {
plugins/XAMP.pl:24:		hook("protocol_commit_info") if $commit;
plugins/XAMP.pl:28:	register_hook("request_mod", sub {
plugins/XAMP.pl:44:	hook("protocol_mod_prof", -name => "%a", -value => $artist);
plugins/XAMP.pl:45:	hook("protocol_mod_away", -name => "%a", -value => $artist);
plugins/XAMP.pl:56:	hook("protocol_mod_prof", -name => "%s", -value => $song);
plugins/XAMP.pl:57:	hook("protocol_mod_away", -name => "%s", -value => $song);
plugins/Net-OSCAR/Net/OSCAR.pm:2154:Added hooks to allow client do MD5 digestion for authentication (auth_challenge
plugins/Net-OSCAR/Net/OSCAR.pm:2612:Rocco Caputo for helping to work out the hooks that let use be used with
plugins/Net-OSCAR/Net-OSCAR.pl:28:register_hook("protocol_add_buddy",		sub { $oscar->add_buddy($ARGS{-group}, $ARGS{-buddy}); } );
plugins/Net-OSCAR/Net-OSCAR.pl:29:register_hook("protocol_away_status",	sub { $is_away; } );
plugins/Net-OSCAR/Net-OSCAR.pl:30:register_hook("protocol_commit_blist",	sub { $oscar->commit_buddylist; } );
plugins/Net-OSCAR/Net-OSCAR.pl:31:register_hook("protocol_commit_info",	sub { $oscar->set_away($away) if $is_away; $oscar->set_info($prof); } );
plugins/Net-OSCAR/Net-OSCAR.pl:32:register_hook("protocol_get_away",		sub { $oscar->{away}; } );
plugins/Net-OSCAR/Net-OSCAR.pl:33:register_hook("protocol_get_groups",	sub { [ $oscar->groups ]; } );
plugins/Net-OSCAR/Net-OSCAR.pl:34:register_hook("protocol_get_prof",		sub { $oscar->{profile} } );
plugins/Net-OSCAR/Net-OSCAR.pl:35:register_hook("protocol_get_realname",	sub { $oscar->buddy($ARGS{-user})->{screenname} or $ARGS{-user}; } );
plugins/Net-OSCAR/Net-OSCAR.pl:36:register_hook("protocol_go_away",		sub { $is_away = 1; hook("protocol_commit_info"); } );
plugins/Net-OSCAR/Net-OSCAR.pl:37:register_hook("protocol_idle_since",	sub { $oscar->buddy($ARGS{-who})->{idle}; } );
plugins/Net-OSCAR/Net-OSCAR.pl:38:register_hook("protocol_is_away",		sub { return $oscar->buddy($ARGS{-user})->{away}; } );
plugins/Net-OSCAR/Net-OSCAR.pl:39:register_hook("protocol_is_on",			sub { $oscar->buddy($ARGS{-who})->{online} } );
plugins/Net-OSCAR/Net-OSCAR.pl:40:register_hook("protocol_mod_away",		\&mod_away );
plugins/Net-OSCAR/Net-OSCAR.pl:41:register_hook("protocol_mod_prof",		\&mod_prof );
plugins/Net-OSCAR/Net-OSCAR.pl:42:register_hook("protocol_on_since",		sub { $oscar->buddy($ARGS{-who})->{onsince}; } );
plugins/Net-OSCAR/Net-OSCAR.pl:43:register_hook("protocol_remove_buddy",	sub { $oscar->remove_buddy($ARGS{-group}, $oscar->buddy($ARGS{-buddy})->{screenname}); } );
plugins/Net-OSCAR/Net-OSCAR.pl:44:register_hook("protocol_request_info",	sub { request_info($ARGS{-user}); });
plugins/Net-OSCAR/Net-OSCAR.pl:45:register_hook("protocol_return",		sub { $oscar->set_away(''); %away_sent = (); $is_away = 0; } );
plugins/Net-OSCAR/Net-OSCAR.pl:46:register_hook("protocol_send_im",		\&send_im );
plugins/Net-OSCAR/Net-OSCAR.pl:47:register_hook("protocol_set_away",		\&set_away );
plugins/Net-OSCAR/Net-OSCAR.pl:48:register_hook("protocol_set_prof",		\&set_prof );
plugins/Net-OSCAR/Net-OSCAR.pl:49:register_hook("protocol_signon",		\&signon);
plugins/Net-OSCAR/Net-OSCAR.pl:50:register_hook("protocol_signed_in",		sub { $signed_in; } );
plugins/Net-OSCAR/Net-OSCAR.pl:51:register_hook("protocol_signoff",		sub { $oscar->signoff; } );
plugins/Net-OSCAR/Net-OSCAR.pl:64:		hook("error", -short => $desc, -long => longmess($desc), -fatal => $fatal);
plugins/Net-OSCAR/Net-OSCAR.pl:69:		hook("buddy_in", -buddy => $_[1], -group => $_[2]); 
plugins/Net-OSCAR/Net-OSCAR.pl:74:		hook("buddy_out", -buddy => $_[1], -group => $_[2]); 
plugins/Net-OSCAR/Net-OSCAR.pl:79:		hook("msg_in", -user => $_[1], -msg => $_[2], -away => $_[3]) if $_[1]; 
plugins/Net-OSCAR/Net-OSCAR.pl:80:		hook("msg_in_$_[1]", -user => $_[1], -msg => $_[2], -away => $_[3]);
plugins/Net-OSCAR/Net-OSCAR.pl:86:		hook("signed_in", -me => $user);
plugins/Net-OSCAR/Net-OSCAR.pl:92:		hook("error", 
plugins/Net-OSCAR/Net-OSCAR.pl:95:		hook("rate_alert") if $_[1] == RATE_LIMIT;
plugins/Net-OSCAR/Net-OSCAR.pl:104:		hook("protocol_info_received_$_[1]", -profile => $prof, -away => $_[2]->{awaymsg}); 
plugins/Net-OSCAR/Net-OSCAR.pl:115:	hook("tk_getmain")->after(30, \&tick);
plugins/Net-OSCAR/Net-OSCAR.pl:130:	hook("tk_getmain")->after(30, \&tick);
plugins/Net-OSCAR/Net-OSCAR.pl:141:		hook("after", -time => 50, -code => [\&request_info, $other_user]);
plugins/Net-OSCAR/Net-OSCAR.pl:168:	register_hook("request_mod", sub{} );	# for when those hooks just arent yet registered, use register_hook(tm)
plugins/Net-OSCAR/Net-OSCAR.pl:169:	hook("request_mod");
plugins/Net-OSCAR/Net-OSCAR.pl:178:	register_hook("request_mod", sub{} );	# ditto, can't wait till hook priorities!
plugins/Net-OSCAR/Net-OSCAR.pl:179:	hook("request_mod");
plugins/Sound/Sound.pl:7:register_hook("signed_in", sub { play_sound("signed_in"); });
plugins/Sound/Sound.pl:8:register_hook("protocol_go_away", sub { play_sound("go_away"); });
plugins/Sound/Sound.pl:9:register_hook("protocol_return", sub { play_sound("return"); });
plugins/Sound/Sound.pl:10:register_hook("msg_in", sub { play_sound("msg_in"); });
plugins/Sound/Sound.pl:11:register_hook("protocol_send_im", sub { play_sound("send_im"); });
plugins/Sound/Sound.pl:12:register_hook("buddy_in", sub { play_sound("buddy_in"); });
plugins/Sound/Sound.pl:13:register_hook("buddy_out", sub { play_sound("buddy_out"); });
plugins/Sound/Sound.pl:14:register_hook("error", sub { play_sound("error"); });
plugins/Sound/Sound.pl:15:register_hook("protocol_signoff", sub { play_sound("signoff"); });
plugins/Sound/Sound.pl:19:	return if hook("protocol_away_status") and !option("SoundsWhileAway") and $_[0] ne "go_away";
plugins/Tk-About/Tk-About.pl:6:my $mw = hook("tk_getmain");
plugins/Tk-About/Tk-About.pl:8:register_hook "show_about", sub { $mw->MBAbout->focus; };
plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm:32:    hook("protocol_add_buddy", -group => $group, -buddy => $name);    
plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm:33:    hook("protocol_commit_blist");
plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm:41:	my $groups = hook("protocol_get_groups");
plugins/Tk-AddBuddy/Milkbone/AddBuddy.pm:63:	hook("tk_seticon", -wnd => $self);
plugins/Tk-AddBuddy/Tk-AddBuddy.pl:9:register_hook("dlg_add_buddy", sub {
plugins/Tk-BList/Tk-BList.pl:12:my $mw = hook("tk_getmain");
plugins/Tk-BList/Tk-BList.pl:14:register_hook("signed_in", sub { 
plugins/Tk-BList/Tk-BList.pl:20:	register_hook("buddy_in", sub { Milkbone::BList::on_buddy_in } , {-self => $blist});
plugins/Tk-BList/Tk-BList.pl:21:	register_hook("buddy_out", \&Milkbone::BList::on_buddy_out, {-self => $blist});
plugins/Tk-BList/Tk-BList.pl:22:	register_hook("add_blist_menu_item", \&Milkbone::BList::add_blist_menu_item, {-self => $blist});
plugins/Tk-BList/Tk-BList.pl:24:	register_hook("protocol_go_away", sub { 
plugins/Tk-BList/Tk-BList.pl:30:	register_hook("protocol_return", sub { 
plugins/Tk-BList/Tk-BList.pl:37:	register_hook("error_fatal", sub {
plugins/Tk-BList/Tk-BList.pl:41:	register_hook("msg_in", sub {
plugins/Tk-BList/Tk-BList.pl:50:sub reg_change_hook
plugins/Tk-BList/Tk-BList.pl:54:	register_hook("get_profile", sub {
plugins/Tk-BList/Milkbone/BList.pm:51:	hook("create_convo", -user => hook("protocol_get_realname", -user => $name), -fabricated => 1);
plugins/Tk-BList/Milkbone/BList.pm:62:	my $groups = hook("protocol_get_groups");
plugins/Tk-BList/Milkbone/BList.pm:77:		if(hook("protocol_is_away", -user => $realname))
plugins/Tk-BList/Milkbone/BList.pm:89:		if(hook("protocol_is_away", -user => $realname))
plugins/Tk-BList/Milkbone/BList.pm:123:		hook("protocol_go_away");
plugins/Tk-BList/Milkbone/BList.pm:130:		hook("protocol_return");
plugins/Tk-BList/Milkbone/BList.pm:142:	hook("protocol_set_info", -info => $info);
plugins/Tk-BList/Milkbone/BList.pm:199:	hook("dlg_add_buddy", -parent => shift);
plugins/Tk-BList/Milkbone/BList.pm:209:	hook("get_profile", -user => $buddy, -group => $group);
plugins/Tk-BList/Milkbone/BList.pm:221:		hook("protocol_remove_buddy", -group => $group, -buddy => $name);    
plugins/Tk-BList/Milkbone/BList.pm:222:		hook("protocol_commit_blist");
plugins/Tk-BList/Milkbone/BList.pm:223:		hook("buddy_out", -buddy => $name, -group => $group);
plugins/Tk-BList/Milkbone/BList.pm:246:	$self->{menu_file}->command(-label => "Set Away...", -command => sub { hook("on_set_away");} );
plugins/Tk-BList/Milkbone/BList.pm:247:	$self->{menu_file}->command(-label => "Set Profile...", -command => sub { hook("on_set_profile");} );
plugins/Tk-BList/Milkbone/BList.pm:250:	$self->{menu_file}->command(-label => "Goodbye and Exit", -command => sub { hook("goodbye") });
plugins/Tk-BList/Milkbone/BList.pm:258:	$self->{menu_help}->command(-label => "About...", -command => sub { hook("show_about") });
plugins/Tk-BList/Milkbone/BList.pm:288:	hook("tk_seticon", -wnd => $self);
plugins/Tk-BList/Milkbone/BList.pm:316:	return unless hook("protocol_away_status");
plugins/Tk-Convo/Milkbone/Convo.pm:53:	hook("protocol_send_im", -dest => $self->{buddy}, -msg => $msg, -away => 0);
plugins/Tk-Convo/Milkbone/Convo.pm:69:	hook("remove_convo", -user => shift->{buddy});
plugins/Tk-Convo/Milkbone/Convo.pm:74:	hook("get_profile", -user => shift->{buddy});
plugins/Tk-Convo/Milkbone/Convo.pm:154:	hook("tk_seticon", -wnd => $self);
plugins/Tk-Convo/Tk-Convo.pl:10:my $mw = hook("tk_getmain");
plugins/Tk-Convo/Tk-Convo.pl:13:register_hook("create_convo", sub {
plugins/Tk-Convo/Tk-Convo.pl:24:	register_hook("msg_in_$buddy", sub {
plugins/Tk-Convo/Tk-Convo.pl:27:			hook("create_convo", -user => hook("protocol_get_realname", -user => $ARGS{-user}));
plugins/Tk-Convo/Tk-Convo.pl:30:		hook("flash_window", -wnd => $convo);
plugins/Tk-Convo/Tk-Convo.pl:33:	register_hook("buddy_in_$buddy", sub {
plugins/Tk-Convo/Tk-Convo.pl:37:	register_hook("buddy_out_$buddy", sub {
plugins/Tk-Convo/Tk-Convo.pl:44:	$convo->withdraw if hook("protocol_away_status") != 0;
plugins/Tk-Convo/Tk-Convo.pl:46:	hook("flash_window", -wnd => $convo) unless $ARGS{-fabricated};
plugins/Tk-Convo/Tk-Convo.pl:49:register_hook("remove_convo", sub {
plugins/Tk-Convo/Tk-Convo.pl:50:	deregister_hook("msg_in_$ARGS{-user}");
plugins/Tk-Convo/Tk-Convo.pl:51:	deregister_hook("buddy_in_$ARGS{-user}");
plugins/Tk-Convo/Tk-Convo.pl:52:	deregister_hook("buddy_out_$ARGS{-user}");
plugins/Tk-Convo/Tk-Convo.pl:58:register_hook("msg_in", sub {
plugins/Tk-Convo/Tk-Convo.pl:59:	hook("create_convo", -user => hook("protocol_get_realname", -user => $ARGS{-user}));
plugins/Tk-Convo/Tk-Convo.pl:62:register_hook("get_convo", sub {
plugins/Tk-Convo/Tk-Convo.pl:66:register_hook("protocol_go_away", sub {
plugins/Tk-Convo/Tk-Convo.pl:70:register_hook("protocol_return", sub {
plugins/Tk-Convo/Tk-Convo.pl:74:register_hook("goodbye", sub {
plugins/Tk-Convo/Tk-Convo.pl:77:	hook("protocol_send_im", -dest => $_, -msg => $goodbye, -away => 0) for(keys(%convos));
plugins/Tk-Convo/Tk-Convo.pl:80:register_hook("buddy_in", sub {
plugins/Tk-Convo/Tk-Convo.pl:81:	hook("buddy_in_$ARGS{-buddy}", -group => $ARGS{-group}) if $convos{$ARGS{-buddy}};
plugins/Tk-Convo/Tk-Convo.pl:84:register_hook("buddy_out", sub {
plugins/Tk-Convo/Tk-Convo.pl:85:	hook("buddy_out_$ARGS{-buddy}", -group => $ARGS{-group}) if $convos{$ARGS{-buddy}};
plugins/Tk-File/Milkbone/File.pm:51:	hook("tk_seticon", -wnd => $self);
plugins/Tk-File/Milkbone/File.pm:67:		hook("protocol_set_prof", -data => $text);
plugins/Tk-File/Milkbone/File.pm:71:		hook("protocol_set_away", -data => $text);
plugins/Tk-File/Tk-File.pl:10:my $mw = hook("tk_getmain");
plugins/Tk-File/Tk-File.pl:12:register_hook "edit_file", sub {
plugins/Tk-File/Tk-File.pl:29:register_hook "on_set_profile", sub {
plugins/Tk-File/Tk-File.pl:30:	hook("edit_file", -type => "profile");
plugins/Tk-File/Tk-File.pl:33:register_hook "on_set_away", sub {
plugins/Tk-File/Tk-File.pl:34:	hook("edit_file", -type => "away");
plugins/Tk-File/Tk-File.pl:37:register_hook "signed_in", sub {
plugins/Tk-File/Tk-File.pl:57:	hook("protocol_set_prof", -data => $prof);
plugins/Tk-File/Tk-File.pl:58:	hook("protocol_set_away", -data => $away);
plugins/Tk-GUI/Tk-GUI.pl:38:register_hook("tk_seticon", sub { $ARGS{-wnd}->Icon(-image => $icon); });
plugins/Tk-GUI/Tk-GUI.pl:40:register_hook("tick", \&tick);
plugins/Tk-GUI/Tk-GUI.pl:41:register_hook("tk_getmain", sub {
plugins/Tk-GUI/Tk-GUI.pl:45:register_hook("after", sub {
plugins/Tk-GUI/Tk-GUI.pl:61:register_hook("error", sub {
plugins/Tk-GUI/Tk-GUI.pl:64:	hook("tk_seticon", -wnd => $error_box);
plugins/Tk-GUI/Tk-GUI.pl:72:		hook("protocol_signoff") if $fatal;
plugins/Tk-GUI/Tk-GUI.pl:73:		exit if $fatal and hook("protocol_signed_in");
plugins/Tk-Logon/Milkbone/Logon.pm:14:my $mw = hook("tk_getmain");
plugins/Tk-Logon/Milkbone/Logon.pm:45:	hook("protocol_signoff") if $self->{signed_on};
plugins/Tk-Logon/Milkbone/Logon.pm:59:	hook("protocol_signon", -user => $self->{sname}, -pass => $self->{pass});
plugins/Tk-Logon/Milkbone/Logon.pm:72:	hook("protocol_signoff");
plugins/Tk-Logon/Milkbone/Logon.pm:128:	$self->{controls}->Button(-text => 'about', -command => sub { hook("show_about") }, 
plugins/Tk-Logon/Milkbone/Logon.pm:140:	hook("tk_seticon", -wnd => $self);
plugins/Tk-Logon/Tk-Logon.pl:9:my $mw = hook("tk_getmain");
plugins/Tk-Logon/Tk-Logon.pl:12:register_hook("create_logon_prompt", sub {
plugins/Tk-Logon/Tk-Logon.pl:16:	register_hook("signed_in", sub { 
plugins/Tk-Logon/Tk-Logon.pl:21:	register_hook("error", sub {
plugins/Tk-PluginsConf/Milkbone/PluginsConf.pm:72:	hook("tk_seticon", -wnd => $self);
plugins/Tk-PluginsConf/Tk-PluginsConf.pl:9:register_hook("dlg_plugins", sub {
plugins/Tk-Profile/Milkbone/Profile.pm:57:	hook("remove_profile", -who => $self->{who});
plugins/Tk-Profile/Milkbone/Profile.pm:82:	my $on_time = time - hook("protocol_on_since", -who => $who);
plugins/Tk-Profile/Milkbone/Profile.pm:88:	if(hook("protocol_idle_since", -who => $who))
plugins/Tk-Profile/Milkbone/Profile.pm:90:		my $idle_time = hook("protocol_idle_since", -who => $who);
plugins/Tk-Profile/Milkbone/Profile.pm:110:	hook("tk_seticon", -wnd => $self);
plugins/Tk-Profile/Tk-Profile.pl:9:my $mw = hook("tk_getmain");
plugins/Tk-Profile/Tk-Profile.pl:11:register_hook("get_profile", sub {
plugins/Tk-Profile/Tk-Profile.pl:20:	hook("protocol_request_info", -user => $who);
plugins/Tk-Profile/Tk-Profile.pl:24:	register_hook("protocol_info_received_$who", sub {
plugins/Tk-Profile/Tk-Profile.pl:41:register_hook("remove_profile", sub {
plugins/Tk-Profile/Tk-Profile.pl:42:	deregister_hook("protocol_info_received_" . $ARGS{-who});
plugins/Win32-Tray/Win32-Tray.pl:12:register_hook("signed_in", sub {
plugins/Win32-Tray/Win32-Tray.pl:24:	hook("tk_getmain")->repeat(500, sub {
plugins/Win32-Tray/Win32-Tray.pl:28:	register_hook("post_mainloop", sub {
plugins/Milkbot-Xmms/Milkbot-Xmms.pl:27:register_hook("milkbot_get_commands", \&init);
plugins/Milkbot-Xmms/Milkbot-Xmms.pl:70:		hook("milkbot_set_command", -name => $_, -desc => $commands{$_}[1]);
plugins/Milkbot-Xmms/Milkbot-Xmms.pl:72:	register_hook("milkbot_command", sub { $cmd = $ARGS{-cmd};
plugins/Milkbot-Xmms/Milkbot-Xmms.pl:73:		register_hook("milkbot_command_$cmd", sub {
plugins/Milkbot-Xmms/Milkbot-Xmms.pl:75:			deregister_hook("milkbot_command_$cmd") if $cmd;
plugins/Milkbot-Xmms/Milkbot-Xmms.pl:82:	hook("protocol_send_im", -dest => $to, -msg => $msg, -away => $away);