diff options
| author | mh | 2015-12-09 09:56:28 +0100 |
|---|---|---|
| committer | mh | 2015-12-09 09:56:28 +0100 |
| commit | 27ad9d2cb9196a8c912da635a6e81ef7a1edadd4 (patch) | |
| tree | f6be4de39ea78210588a48d2cf89b7884e96ebfd | |
| parent | 33cdc62a2817194beca14fbddfd8b3def7d7c4d3 (diff) | |
| download | scripts.irssi.org-27ad9d2cb9196a8c912da635a6e81ef7a1edadd4.tar.bz2 | |
mh_userstatus.pl v1.02
show in channels when users go away/back or oper/deoper
changes:
fixed issue with disabling/enabling periodical /who
/whois bug was not entirely fixed, should be now
| -rw-r--r-- | scripts/mh_userstatus.pl | 54 |
1 files changed, 39 insertions, 15 deletions
diff --git a/scripts/mh_userstatus.pl b/scripts/mh_userstatus.pl index 33fe625..353539d 100644 --- a/scripts/mh_userstatus.pl +++ b/scripts/mh_userstatus.pl @@ -1,6 +1,6 @@ ############################################################################## # -# mh_userstatus.pl v1.01 (20151201) +# mh_userstatus.pl v1.02 (20151208) # # Copyright (c) 2015 Michael Hansen # @@ -61,6 +61,9 @@ # a user is deoppered # # history: +# v1.02 (20151208) +# fixed issue with disabling/enabling periodical /who +# /whois bug was not entirely fixed, should be now # v1.01 (20151201) # fixed bug when /whois spammed with status updates # added _noact_* and supporting code @@ -83,7 +86,7 @@ use Irssi 20100403; { package Irssi::Nick } -our $VERSION = '1.01'; +our $VERSION = '1.02'; our %IRSSI = ( 'name' => 'mh_userstatus', @@ -272,6 +275,9 @@ sub signal_nicklist_gone_changed_last if ($channel->{'synced'}) { + # + # skip our own nick + # if ($nick->{'nick'} ne $channel->{'server'}->{'nick'}) { my $format = ''; @@ -291,7 +297,7 @@ sub signal_nicklist_gone_changed_last } $msglevel = $msglevel | Irssi::MSGLEVEL_PARTS; - $channel->printformat($msglevel, 'mh_userstatus_gone' . $format, $nick->{'nick'}, $nick->{'host'}, nick_prefix($nick)); + $channel->printformat($msglevel, 'mh_userstatus_gone' . $format, $nick->{'nick'} , $nick->{'host'}, nick_prefix($nick)); } else { @@ -323,6 +329,9 @@ sub signal_nicklist_serverop_changed_last if ($channel->{'synced'}) { + # + # skip our own nick + # if ($nick->{'nick'} ne $channel->{'server'}->{'nick'}) { my $format = ''; @@ -358,7 +367,7 @@ sub signal_nicklist_serverop_changed_last } } -sub signal_event_311 +sub signal_event_311_first { my ($server) = @_; @@ -368,7 +377,7 @@ sub signal_event_311 } } -sub signal_event_318 +sub signal_event_318_last { my ($server) = @_; @@ -378,6 +387,20 @@ sub signal_event_318 } } +sub signal_setup_changed_last +{ + if (Irssi::settings_get_int('mh_userstatus_delay')) + { + for my $channel (Irssi::channels()) + { + if ($channel->{'synced'}) + { + signal_channel_sync_last($channel); + } + } + } +} + ############################################################################## # # irssi command functions @@ -404,6 +427,9 @@ sub command_whoa for my $nick (sort({ lc($a->{'nick'}) cmp lc($b->{'nick'}) } $windowitem->nicks())) { + # + # skip our own nick + # if ($nick->{'nick'} ne $windowitem->{'server'}->{'nick'}) { my $format = ''; @@ -444,6 +470,9 @@ sub command_whoo for my $nick (sort({ lc($a->{'nick'}) cmp lc($b->{'nick'}) } $windowitem->nicks())) { + # + # skip our own nick + # if ($nick->{'nick'} ne $windowitem->{'server'}->{'nick'}) { my $format = ''; @@ -529,24 +558,19 @@ Irssi::settings_add_bool('mh_userstatus', 'mh_userstatus_noact_gone', 0); Irssi::settings_add_bool('mh_userstatus', 'mh_userstatus_noact_oper', 0); Irssi::settings_add_bool('mh_userstatus', 'mh_userstatus_noact_deop', 0); -for my $channel (Irssi::channels()) -{ - if ($channel->{'synced'}) - { - signal_channel_sync_last($channel); - } -} - Irssi::signal_add_last('channel sync', 'signal_channel_sync_last'); Irssi::signal_add_last('nicklist gone changed', 'signal_nicklist_gone_changed_last'); Irssi::signal_add_last('nicklist serverop changed', 'signal_nicklist_serverop_changed_last'); -Irssi::signal_add('event 311', 'signal_event_311'); -Irssi::signal_add('event 318', 'signal_event_318'); +Irssi::signal_add_first('event 311', 'signal_event_311_first'); +Irssi::signal_add_last('event 318', 'signal_event_318_last'); +Irssi::signal_add_last('setup changed', 'signal_setup_changed_last'); Irssi::command_bind('whoa', 'command_whoa', 'mh_userstatus'); Irssi::command_bind('whoo', 'command_whoo', 'mh_userstatus'); Irssi::command_bind('help', 'command_help'); +signal_setup_changed_last(); + 1; ############################################################################## |
