diff -Nru irssi-scripts-20160301/debian/changelog irssi-scripts-20170711/debian/changelog --- irssi-scripts-20160301/debian/changelog 2016-03-01 15:26:16.000000000 +0000 +++ irssi-scripts-20170711/debian/changelog 2017-07-12 04:07:08.000000000 +0000 @@ -1,3 +1,56 @@ +irssi-scripts (20170711) unstable; urgency=medium + + * New upstream release. + + Update: akilluser.pl, apm.pl, awaybar.pl, + awaylogcnt.pl, bandwidth.pl, bitlbee_join_notice.pl, + bitlbee_typing_notice.pl, centericq.pl, colorkick.pl, + connectcmd.pl, dau.pl, dccself.pl, df.pl, go.pl, + hddtemp.pl, hilightwin.pl, iMPD.pl, il.pl, invitejoin.pl, + ircgmessagenotify.pl, irssiBlaster.pl, itime.pl, kicks.pl, + licq.pl, loadavg.pl, localize.pl, mailcheck_imap.pl, + mangle.pl, modelist-r.pl, nact.pl, newsline.pl, nicklist.pl, + niq.pl, ogg123.pl, operview.pl, osd.pl, page-c0ffee.pl, pager.pl, + postpone.pl, query.pl, quiz.pl, quizgr.pl, quizmaster.pl, + randaway.pl, romajibind.pl, rotator.pl, scroller.pl, + showhilight.pl, sysinfo277-irssi.pl, sysinfoplus.pl, + topicsed.pl, trigger.pl, twprompt.pl, twtopic.pl, + wordcompletition.pl, xetra.pl + * debian/patches + + Add auto_away--trigger-also-on-newline.diff + + timeout trigger/reset also on newline. (Closes: #820412) + + Thanks to Nicolas Schier for the patch. + + Refresh go.pl-multiple-networks.diff + + Refresh hilightwin.pl.diff + + Remove change_mode_awayproxy_script.diff + + merge with upstream. + + Remove quizgr.pl.diff + + merge with upstream. + + Remove urlgrab.pl.diff + + upstream is not using it anymore. + + Remove connectcmd.pl.diff + + upstream is not using it anymore. + * debian/copyright + + Extend debian copyright holders years + * debian/control + + Remove Ryan Niebur from Uploaders field. (Closes: #856360) + + Bump standard versions 4.0.0 (no changes). + + Change debhelper to 10 in B-D. + + Fix typos in description. + * Switch compat level 9 to 10. + * add debian/source/lintian-overrides + + Some scripts doesn't have copyright information. + + [ Rhonda D'Vine ] + * new upstream release: + + act.pl, autoaway.pl, awayproxy.pl, cgrep.pl, + challenge.pl (Closes: #847994), chanact.pl, + mass_hilight_blocker.pl, my_beep.pl, nickserv.pl, + tinyurl.pl, twirssi.pl, urlgrab.pl + * Update INDEX file + * Update description-list file + + -- Daniel Echeverry Tue, 11 Jul 2017 23:07:08 -0500 + irssi-scripts (20160301) unstable; urgency=medium * New upstream release. Closes: #811436 #765840 #769103 diff -Nru irssi-scripts-20160301/debian/compat irssi-scripts-20170711/debian/compat --- irssi-scripts-20160301/debian/compat 2013-05-11 21:55:35.000000000 +0000 +++ irssi-scripts-20170711/debian/compat 2017-07-12 04:07:08.000000000 +0000 @@ -1 +1 @@ -9 +10 diff -Nru irssi-scripts-20160301/debian/control irssi-scripts-20170711/debian/control --- irssi-scripts-20160301/debian/control 2016-03-01 15:22:20.000000000 +0000 +++ irssi-scripts-20170711/debian/control 2017-07-12 04:07:08.000000000 +0000 @@ -1,10 +1,10 @@ Source: irssi-scripts Section: net Priority: optional -Maintainer: Ryan Niebur -Uploaders: Martin f. krafft , Daniel Echeverry -Build-Depends: debhelper (>= 9), quilt -Standards-Version: 3.9.7 +Maintainer: Daniel Echeverry +Uploaders: Martin f. krafft +Build-Depends: debhelper (>= 10), quilt +Standards-Version: 4.0.0 Vcs-Git: https://anonscm.debian.org/git/collab-maint/irssi-scripts.git Vcs-Browser: https://anonscm.debian.org/git/collab-maint/irssi-scripts.git Homepage: http://scripts.irssi.org/ @@ -196,8 +196,8 @@ listen -- display what mp3 you are playing in which software loadavg -- display a loadavg statusbar item using vm.loadavg localize -- localizes users using traceroute - log2ansi -- convert mirc color and irssi interal formatting to ansi colors - logcompress -- compress logfiles then theyre rotated + log2ansi -- convert mirc color and irssi internal formatting to ansi colors + logcompress -- compress logfiles then they're rotated logresume -- print last n lines of logs when opening queries/channels ls -- show all nicks matching regex in the current channel mailcheck_imap -- staturbar item which indicates how many new emails diff -Nru irssi-scripts-20160301/debian/copyright irssi-scripts-20170711/debian/copyright --- irssi-scripts-20160301/debian/copyright 2016-03-01 14:16:14.000000000 +0000 +++ irssi-scripts-20170711/debian/copyright 2017-07-12 04:07:08.000000000 +0000 @@ -18,7 +18,7 @@ 2007-2009 Christoph Berg 2009-2010 Ryan Niebur 2009-2010 martin f. krafft - 2012 Daniel Echeverry + 2012-2017 Daniel Echeverry License: GPL-2.0+ Files: update-scripts INDEX diff -Nru irssi-scripts-20160301/debian/description-list irssi-scripts-20170711/debian/description-list --- irssi-scripts-20160301/debian/description-list 2016-03-01 14:57:43.000000000 +0000 +++ irssi-scripts-20170711/debian/description-list 2017-07-12 03:50:01.000000000 +0000 @@ -125,7 +125,7 @@ chanshare.pl /CHANSHARE - display people who are in more than one channel with you chansort.pl Sort all channel and query windows -chansync.pl /who a channel and optionally executes a command +chansync.pl /who a channel and optionaly executes a command chops.pl Simulates BitchX's /CHOPS and /NOPS commands. cleanpublic.pl Simple script that removes colors and other formatting (bold, etc) from public channels @@ -324,7 +324,7 @@ log2ansi.pl convert mirc color and irssi interal formatting to ansi colors, useful for log filtering logcompress.pl compress logfiles then they're rotated -logresume.pl Print last n lines of logs when opening +logresume.pl print last n lines of logs when opening queries/channels mailcheck_imap.pl Staturbar item which indicates how many new emails you have in the specified IMAP[S] mailbox @@ -568,8 +568,8 @@ uptime.pl Try a little harder to figure out client uptime urlgrab.pl Captures urls said in channel and private messages and saves them to a file, also adds a - /url command which loads the last said url into - mozilla. + /url command which loads the last said url into a + browser. url_log.pl logs urls to textfile or/and database, able to list, quote, open or `http head` saved urls. url.pl url.pl grabs URLs in messages and allows you to diff -Nru irssi-scripts-20160301/debian/patches/auto_away--trigger-also-on-newline.diff irssi-scripts-20170711/debian/patches/auto_away--trigger-also-on-newline.diff --- irssi-scripts-20160301/debian/patches/auto_away--trigger-also-on-newline.diff 1970-01-01 00:00:00.000000000 +0000 +++ irssi-scripts-20170711/debian/patches/auto_away--trigger-also-on-newline.diff 2017-07-12 04:07:08.000000000 +0000 @@ -0,0 +1,15 @@ +Description: Trigger also on newline +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820412 +Author: Nicolas Schier +Last-Update: 12-07-2017 +--- a/scripts/auto_away.pl ++++ b/scripts/auto_away.pl +@@ -39,7 +39,7 @@ + + sub reset_timer{ + my $key=shift; +- if($key == 10){ ++ if(($key == 10) or ($key == 13)) { + my (@servers) = Irssi::servers(); + foreach my $server (@servers) { + if($server->{usermode_away} == 1){ diff -Nru irssi-scripts-20160301/debian/patches/connectcmd.pl.diff irssi-scripts-20170711/debian/patches/connectcmd.pl.diff --- irssi-scripts-20160301/debian/patches/connectcmd.pl.diff 2016-02-29 21:53:00.000000000 +0000 +++ irssi-scripts-20170711/debian/patches/connectcmd.pl.diff 2017-07-12 04:07:08.000000000 +0000 @@ -1,47 +1,3 @@ Description: "" Forwarded: no Last-Update: 2016-02-29 ---- a/scripts/connectcmd.pl -+++ b/scripts/connectcmd.pl -@@ -17,9 +17,9 @@ my %postconn_actions; - my %disconn_actions; - - sub load_actions { -- open ACTIONS, q{<}, "$ENV{HOME}/.irssi/connectcmd_actions"; -+ open ACTS, q{<}, "$ENV{HOME}/.irssi/connectcmd_actions"; - -- while () { -+ while () { - my @lines = split "\n"; - foreach my $line (@lines) { - my ($server, $type, $action) = split ":", $line; -@@ -33,23 +33,23 @@ sub load_actions { - } - } - -- close ACTIONS; -+ close ACTS; - } - - sub save_actions { -- open ACTIONS, q{>}, "$ENV{HOME}/.irssi/connectcmd_actions"; -+ open ACTS, q{>}, "$ENV{HOME}/.irssi/connectcmd_actions"; - - foreach my $server (keys %preconn_actions) { -- print ACTIONS "$server:preconn:$preconn_actions{$server}\n"; -+ print ACTS "$server:preconn:$preconn_actions{$server}\n"; - } - foreach my $server (keys %postconn_actions) { -- print ACTIONS "$server:postconn:$postconn_actions{$server}\n"; -+ print ACTS "$server:postconn:$postconn_actions{$server}\n"; - } - foreach my $server (keys %disconn_actions) { -- print ACTIONS "$server:disconn:$disconn_actions{$server}\n"; -+ print ACTS "$server:disconn:$disconn_actions{$server}\n"; - } - -- close ACTIONS; -+ close ACTS; - } - - sub sig_server_looking { diff -Nru irssi-scripts-20160301/debian/patches/go.pl-multiple-networks.diff irssi-scripts-20170711/debian/patches/go.pl-multiple-networks.diff --- irssi-scripts-20160301/debian/patches/go.pl-multiple-networks.diff 2016-02-29 21:55:48.000000000 +0000 +++ irssi-scripts-20170711/debian/patches/go.pl-multiple-networks.diff 2017-07-12 04:07:08.000000000 +0000 @@ -2,12 +2,12 @@ Forwarded: no Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476518 Author: Ryan Niebur -Last-Update: 2009-05-12 +Last-Update: 2017-07-12 --- a/scripts/go.pl +++ b/scripts/go.pl -@@ -19,6 +19,48 @@ $VERSION = '1.01'; - changed => '2014-10-19' - ); +@@ -48,6 +48,48 @@ + return $re; + } +sub generate_the_list { + my $foo = {}; @@ -54,34 +54,12 @@ sub signal_complete_go { my ($complist, $window, $word, $linestart, $want_space) = @_; my $channel = $window->get_active_name(); -@@ -28,7 +70,7 @@ sub signal_complete_go { - +@@ -60,7 +102,7 @@ + Irssi::settings_get_bool('go_complete_anchored')); @$complist = (); foreach my $w (Irssi::windows) { - my $name = $w->get_active_name(); + my $name = name_of_this_window($w); if ($word ne "") { - if ($name =~ /\Q${word}\E/i) { + if ($name =~ $re) { push(@$complist, $name) -@@ -45,8 +87,20 @@ sub cmd_go - my($chan,$server,$witem) = @_; - - $chan =~ s/ *//g; -+ # try an exact match first ... this fixes when there are cases -+ # like a channel called #foo and #foobar, #foobar is above -+ # #foo in irssi's list, and the user types in #foo. before -+ # they would have ended up at #foobar instead of #foo. now -+ # they will end up at #foo. -+ foreach my $w (Irssi::windows) { -+ my $name = name_of_this_window($w); -+ if ($name =~ /^#?\Q${chan}\E$/) { -+ $w->set_active(); -+ return; -+ } -+ } - foreach my $w (Irssi::windows) { -- my $name = $w->get_active_name(); -+ my $name = name_of_this_window($w); - if ($name =~ /^#?\Q${chan}\E/) { - $w->set_active(); - return; diff -Nru irssi-scripts-20160301/debian/patches/hilightwin.pl.diff irssi-scripts-20170711/debian/patches/hilightwin.pl.diff --- irssi-scripts-20160301/debian/patches/hilightwin.pl.diff 2016-02-29 23:22:16.000000000 +0000 +++ irssi-scripts-20170711/debian/patches/hilightwin.pl.diff 2017-07-12 04:07:08.000000000 +0000 @@ -1,36 +1,19 @@ Description: Add patch for different hilightwin name Forwarded: no Author: Gerfried Fuchs -Last-Update: 2016-02-29 +Last-Update: 2017-07-12 --- a/scripts/hilightwin.pl +++ b/scripts/hilightwin.pl -@@ -13,13 +13,13 @@ use vars qw($VERSION %IRSSI); - - $VERSION = "0.04"; - %IRSSI = ( -- authors => "Timo \'cras\' Sirainen, Mark \'znx\' Sangster", -- contact => "tss\@iki.fi, znxster\@gmail.com", -+ authors => "Timo \'cras\' Sirainen, Mark \'znx\' Sangster, Gerfried Fuchs", -+ contact => "tss\@iki.fi, znxster\@gmail.com, rhonda\@deb.at", - name => "hilightwin", - description => "Print hilighted messages to window named \"hilight\"", - license => "Public Domain", - url => "http://irssi.org/", -- changed => "Sun May 25 18:59:57 BST 2008" -+ changed => "Mon, 12 Mar 2012 10:14:05 +0100" - ); - - sub sig_printtext { -@@ -35,7 +35,7 @@ sub sig_printtext { - ($dest->{level} & ($opt)) && - ($dest->{level} & MSGLEVEL_NOHILIGHT) == 0 +@@ -60,7 +60,7 @@ + ($dest->{level} & MSGLEVEL_NOHILIGHT) == 0 && + (!is_ignored($dest)) ) { - my $window = Irssi::window_find_name('hilight'); + my $window = Irssi::window_find_name(Irssi::settings_get_str('hilightwin_windowname')); if ($dest->{level} & MSGLEVEL_PUBLIC) { $text = $dest->{target}.": ".$text; -@@ -45,8 +45,9 @@ sub sig_printtext { +@@ -73,8 +73,9 @@ } } @@ -41,4 +24,4 @@ +Irssi::print("Create a window named '" . Irssi::settings_get_str('hilightwin_windowname') . "'") if (!$window); Irssi::settings_add_bool('hilightwin','hilightwin_showprivmsg',1); - + Irssi::settings_add_str('hilightwin', 'hilightwin_ignore_targets', ''); diff -Nru irssi-scripts-20160301/debian/patches/series irssi-scripts-20170711/debian/patches/series --- irssi-scripts-20160301/debian/patches/series 2016-03-01 14:35:41.000000000 +0000 +++ irssi-scripts-20170711/debian/patches/series 2017-07-12 04:07:08.000000000 +0000 @@ -1,5 +1,6 @@ +auto_away--trigger-also-on-newline.diff mouse.pl.diff -change_mode_awayproxy_script.diff +#change_mode_awayproxy_script.diff nickident.pl.diff challenge.pl-debianize.diff away.pl.diff @@ -8,7 +9,7 @@ bgta.pl.diff cleanpublic.pl-dead-code.diff colorkick.pl.diff -connectcmd.pl.diff +#connectcmd.pl.diff google.pl.diff go.pl-multiple-networks.diff hddtemp.pl.diff @@ -22,7 +23,7 @@ openurl.pl.diff queryresume.pl.diff queryresume.pl-use-posix.diff -quizgr.pl.diff +#quizgr.pl.diff rotator.pl.diff scroller.pl.diff stocks.pl.diff @@ -32,7 +33,7 @@ tvmusor.pl.diff url.pl.diff url_log.pl.diff -urlgrab.pl.diff +#urlgrab.pl.diff urlplot.pl.diff xetra.pl.diff 439840-nowplaying.diff diff -Nru irssi-scripts-20160301/debian/patches/urlgrab.pl.diff irssi-scripts-20170711/debian/patches/urlgrab.pl.diff --- irssi-scripts-20160301/debian/patches/urlgrab.pl.diff 2016-02-29 22:10:17.000000000 +0000 +++ irssi-scripts-20170711/debian/patches/urlgrab.pl.diff 2017-07-12 04:07:08.000000000 +0000 @@ -2,14 +2,3 @@ Forwarded: no Author: "" Last-Update: 2016-02-29 ---- a/scripts/urlgrab.pl -+++ b/scripts/urlgrab.pl -@@ -34,7 +34,7 @@ sub url_cmd{ - Irssi::print("No url captured yet"); - return; - } -- system("netscape-remote -remote 'openURL($lasturl)' &>/dev/null"); -+ system("sensible-browser $lasturl &>/dev/null"); - } - - sub find_url { diff -Nru irssi-scripts-20160301/debian/source/lintian-overrides irssi-scripts-20170711/debian/source/lintian-overrides --- irssi-scripts-20160301/debian/source/lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ irssi-scripts-20170711/debian/source/lintian-overrides 2017-07-12 04:07:08.000000000 +0000 @@ -0,0 +1,5 @@ +#This script doesn't have author field +irssi-scripts source: missing-field-in-dep5-copyright copyright (empty field, paragraph at line 617) + +#This script doesn't have copyright information +irssi-scripts source: file-without-copyright-information diff -Nru irssi-scripts-20160301/INDEX irssi-scripts-20170711/INDEX --- irssi-scripts-20160301/INDEX 2016-03-01 14:58:52.000000000 +0000 +++ irssi-scripts-20170711/INDEX 2017-07-12 03:50:01.000000000 +0000 @@ -1,1298 +1,1298 @@ script 8-ball.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/8-ball.pl +url https://github.com/irssi/scripts/raw/master/scripts/8-ball.pl description Dont like to take decisions? Have the 8-ball do it for you instead. script UNIBG-autoident.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/UNIBG-autoident.pl +url https://github.com/irssi/scripts/raw/master/scripts/UNIBG-autoident.pl description Automaticaly /msg ident NS yourpassword when you connect or services come back from death script accent.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/accent.pl +url https://github.com/irssi/scripts/raw/master/scripts/accent.pl description This script strips the hungarian accents. script act.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/act.pl +url https://github.com/irssi/scripts/raw/master/scripts/act.pl description Reset window activity status. defines command /act script active_notice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/active_notice.pl +url https://github.com/irssi/scripts/raw/master/scripts/active_notice.pl description This script shows notices into the active channel unless it has its own window. script active_notify.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/active_notify.pl +url https://github.com/irssi/scripts/raw/master/scripts/active_notify.pl description This script will display notify messages into the active window or broadcast it so all the windows. script ai.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ai.pl +url https://github.com/irssi/scripts/raw/master/scripts/ai.pl description Puts people on ignore if they do a public away. See source for options. script aidle.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/aidle.pl +url https://github.com/irssi/scripts/raw/master/scripts/aidle.pl description Antyidler with random time script akftp.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/akftp.pl +url https://github.com/irssi/scripts/raw/master/scripts/akftp.pl description Full configurable FTP advertiser for Irssi script alame.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/alame.pl +url https://github.com/irssi/scripts/raw/master/scripts/alame.pl description Converts towards lame speech script anotherway.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/anotherway.pl +url https://github.com/irssi/scripts/raw/master/scripts/anotherway.pl description Another auto away script script antiplenk.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/antiplenk.pl +url https://github.com/irssi/scripts/raw/master/scripts/antiplenk.pl description notices users who "plenk" script apm.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/apm.pl +url https://github.com/irssi/scripts/raw/master/scripts/apm.pl description Shows your battery status in your Statusbar script armeija.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/armeija.pl +url https://github.com/irssi/scripts/raw/master/scripts/armeija.pl description Ignores people bringin up boring/repeated subjects, plus replies. script ascii.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ascii.pl +url https://github.com/irssi/scripts/raw/master/scripts/ascii.pl description Ascii-art bassed on figlet. Available commands: /ASCII, /COLSAY, /COLME, /COLTOPIC, /COLKICK, /COLQUIT. script auto_whois.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/auto_whois.pl +url https://github.com/irssi/scripts/raw/master/scripts/auto_whois.pl description /WHOIS all the users who send you a private message. script autoaway.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autoaway.pl +url https://github.com/irssi/scripts/raw/master/scripts/autoaway.pl description Automatically goes away after defined inactivity script autochannel.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autochannel.pl +url https://github.com/irssi/scripts/raw/master/scripts/autochannel.pl description Auto add channels to channel list on join script autocycle.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autocycle.pl +url https://github.com/irssi/scripts/raw/master/scripts/autocycle.pl description Auto regain ops in empty opless channels script autolimit.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autolimit.pl +url https://github.com/irssi/scripts/raw/master/scripts/autolimit.pl description does an autolimit for a channel, set variables in the script script autoopper.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autoopper.pl +url https://github.com/irssi/scripts/raw/master/scripts/autoopper.pl description Auto-op script with dynamic address support and random delay script autorealname.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autorealname.pl +url https://github.com/irssi/scripts/raw/master/scripts/autorealname.pl description Print realname of everyone who join to channels script autorejoinpunish.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autorejoinpunish.pl +url https://github.com/irssi/scripts/raw/master/scripts/autorejoinpunish.pl description Kickbans or knockouts people who use autorejoin on kick. script autoreminder.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autoreminder.pl +url https://github.com/irssi/scripts/raw/master/scripts/autoreminder.pl description This script Reminds people to do stuff! :) script autoversion.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autoversion.pl +url https://github.com/irssi/scripts/raw/master/scripts/autoversion.pl description Auto-CTCP Verison on every joining nick script autovoice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autovoice.pl +url https://github.com/irssi/scripts/raw/master/scripts/autovoice.pl description autovoice script autowhois.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autowhois.pl +url https://github.com/irssi/scripts/raw/master/scripts/autowhois.pl description /WHOIS all the users who send you a private message. script autowrap.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/autowrap.pl +url https://github.com/irssi/scripts/raw/master/scripts/autowrap.pl description Automatically wraps long sent messages into multiple shorter sent messages script away.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/away.pl +url https://github.com/irssi/scripts/raw/master/scripts/away.pl description Away with reason, unaway, and autoaway script away2web.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/away2web.pl +url https://github.com/irssi/scripts/raw/master/scripts/away2web.pl description Write /away information to a file to be used on web pages script away_hilight_notice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/away_hilight_notice.pl +url https://github.com/irssi/scripts/raw/master/scripts/away_hilight_notice.pl description This script will notice your away message to the person who just hilighted you. script away_verbose.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/away_verbose.pl +url https://github.com/irssi/scripts/raw/master/scripts/away_verbose.pl description A verbose away script, displays a verbose away/back message in the channels you are in. BUT it can limit the channels (not spamming every channel!) script awaybar.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/awaybar.pl +url https://github.com/irssi/scripts/raw/master/scripts/awaybar.pl description Provides a menubar item with away message script awaylogcnt.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/awaylogcnt.pl +url https://github.com/irssi/scripts/raw/master/scripts/awaylogcnt.pl description Displays in statusbar number of messages in awaylog script awayproxy.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/awayproxy.pl +url https://github.com/irssi/scripts/raw/master/scripts/awayproxy.pl description Sets nick away when client discconects from the irssi-proxy. If away gathers messages targeted to nick and forwards them to an email address. script badword.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/badword.pl +url https://github.com/irssi/scripts/raw/master/scripts/badword.pl description Configurable badword kickbanning script script ban.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ban.pl +url https://github.com/irssi/scripts/raw/master/scripts/ban.pl description /BAN [channel] [-normal|-host|-user|-domain|-crap|-ip|-class -before|-after "cmd" nick|mask] ... - bans several nicks/masks on channel, removes any conflicting bans before banning script bandwidth.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bandwidth.pl +url https://github.com/irssi/scripts/raw/master/scripts/bandwidth.pl description shows bandwidth usage in statusbar script bantime.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bantime.pl +url https://github.com/irssi/scripts/raw/master/scripts/bantime.pl description Print time when ban was set in a nicer way. eg. 23 mins, 40 secs ago. script beep.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/beep.pl +url https://github.com/irssi/scripts/raw/master/scripts/beep.pl description Replaces your terminal bell by a command specified via /set; adds a beep_when_not_away setting script beep_beep.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/beep_beep.pl +url https://github.com/irssi/scripts/raw/master/scripts/beep_beep.pl description runs arbitrary command instead of system beep, includes flood protection script beepaway.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/beepaway.pl +url https://github.com/irssi/scripts/raw/master/scripts/beepaway.pl description Only beep when you are away script bestoiber.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bestoiber.pl +url https://github.com/irssi/scripts/raw/master/scripts/bestoiber.pl description stoibers your messages script bgta.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bgta.pl +url https://github.com/irssi/scripts/raw/master/scripts/bgta.pl description Byte's Gallery of the TAilor Script script binary.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/binary.pl +url https://github.com/irssi/scripts/raw/master/scripts/binary.pl description adds /binary command that converts what you type into 2-base string representation, also decodes other peoples binary automatically script bitlbee_blist.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bitlbee_blist.pl +url https://github.com/irssi/scripts/raw/master/scripts/bitlbee_blist.pl description /blist , greps from blist for bitlbee script bitlbee_join_notice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bitlbee_join_notice.pl +url https://github.com/irssi/scripts/raw/master/scripts/bitlbee_join_notice.pl description 1. Adds an item to the status bar wich shows [joined: ] when someone is joining &bitlbee. 2. Shows join messages in the query. (For bitlbee v3.0+) script bitlbee_nick_change.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bitlbee_nick_change.pl +url https://github.com/irssi/scripts/raw/master/scripts/bitlbee_nick_change.pl description Shows an IM nickchange in an Irssi way. (in a query and in the bitlbee channel). (For bitlbee 3.0+) script bitlbee_tab_completion.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bitlbee_tab_completion.pl +url https://github.com/irssi/scripts/raw/master/scripts/bitlbee_tab_completion.pl description Intelligent Tab-completion for BitlBee commands. script bitlbee_typing_notice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bitlbee_typing_notice.pl +url https://github.com/irssi/scripts/raw/master/scripts/bitlbee_typing_notice.pl description 1. Adds an item to the status bar wich shows [typing] when someone is typing a message on the supported IM-networks 2. Sends typing notices to the supported IM networks (the other way arround). (For bitlbee 3.0+) script blowjob.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/blowjob.pl +url https://github.com/irssi/scripts/raw/master/scripts/blowjob.pl description Crypt IRC communication with blowfish encryption. Supports public #channels, !channels, +channel, querys and dcc chat. Roadmap for Version 1.0.0 is to get some feedback and cleanup. Join #blowtest on freenode (irc.debian.org) to get latest stuff available. Note to users upgrading from versions prior to 0.8.5: The blowjob.keys format has changed. script bmi.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/bmi.pl +url https://github.com/irssi/scripts/raw/master/scripts/bmi.pl description a simple body mass index calculator for depression ;) script calc.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/calc.pl +url https://github.com/irssi/scripts/raw/master/scripts/calc.pl description Simple /calc mechanism script callerid.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/callerid.pl +url https://github.com/irssi/scripts/raw/master/scripts/callerid.pl description Reformats CallerID (+g) Messages (Also known as Server-Side Ignore) on Hybrid & Ratbox IRCDs (EFnet) to be Easier on the Eyes script cap_sasl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cap_sasl.pl +url https://github.com/irssi/scripts/raw/master/scripts/cap_sasl.pl description Implements SASL authentication and enables CAP "multi-prefix" script centericq.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/centericq.pl +url https://github.com/irssi/scripts/raw/master/scripts/centericq.pl description Staturbar item which indicates how many new messages you have in your centericq script cgrep.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cgrep.pl +url https://github.com/irssi/scripts/raw/master/scripts/cgrep.pl description Lists users on the channel matching the specified regexp script chanact.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chanact.pl +url https://github.com/irssi/scripts/raw/master/scripts/chanact.pl description Adds new powerful and customizable [Act: ...] item (chanelnames,modes,alias). Lets you give alias characters to windows so that you can select those with meta- script chanfull.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chanfull.pl +url https://github.com/irssi/scripts/raw/master/scripts/chanfull.pl description Notifies the user when some channel limit is reached script chanfull_duden.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chanfull_duden.pl +url https://github.com/irssi/scripts/raw/master/scripts/chanfull_duden.pl description Notify if Channellimit is reached script chanpeak.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chanpeak.pl +url https://github.com/irssi/scripts/raw/master/scripts/chanpeak.pl description Log maximum number of people ever been in a channel script chansearch.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chansearch.pl +url https://github.com/irssi/scripts/raw/master/scripts/chansearch.pl description searches for specific channels script chanshare.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chanshare.pl +url https://github.com/irssi/scripts/raw/master/scripts/chanshare.pl description /CHANSHARE - display people who are in more than one channel with you script chansort.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chansort.pl +url https://github.com/irssi/scripts/raw/master/scripts/chansort.pl description Sort all channel and query windows script chansync.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chansync.pl -description /who a channel and optionally executes a command +url https://github.com/irssi/scripts/raw/master/scripts/chansync.pl +description /who a channel and optionaly executes a command script chops.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/chops.pl +url https://github.com/irssi/scripts/raw/master/scripts/chops.pl description Simulates BitchX's /CHOPS and /NOPS commands. script cleanpublic.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cleanpublic.pl +url https://github.com/irssi/scripts/raw/master/scripts/cleanpublic.pl description Simple script that removes colors and other formatting (bold, etc) from public channels script clipboard.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/clipboard.pl +url https://github.com/irssi/scripts/raw/master/scripts/clipboard.pl description Better quoting of content from clipboard (without leading spaces) -- requires Perl/Tk script cloneprot.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cloneprot.pl +url https://github.com/irssi/scripts/raw/master/scripts/cloneprot.pl description Parses OperServ notices to make autokill aliases from clonewarnings script clones.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/clones.pl +url https://github.com/irssi/scripts/raw/master/scripts/clones.pl description /CLONES - Display clones in the active channel (with added options) script colorkick.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/colorkick.pl +url https://github.com/irssi/scripts/raw/master/scripts/colorkick.pl description kicking users for using colors or blinks script colorswap.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/colorswap.pl +url https://github.com/irssi/scripts/raw/master/scripts/colorswap.pl description Swap between green and white format for public messages. I think this helps readability. Assumes you haven't changed message formats. script connectcmd.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/connectcmd.pl +url https://github.com/irssi/scripts/raw/master/scripts/connectcmd.pl description run arbitrary shell commands while [dis]connecting to a server script countdown.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/countdown.pl +url https://github.com/irssi/scripts/raw/master/scripts/countdown.pl description adds public channel command for counting down something script country.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/country.pl +url https://github.com/irssi/scripts/raw/master/scripts/country.pl description Print the country name in /WHOIS replies script cp1250_kick.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cp1250_kick.pl +url https://github.com/irssi/scripts/raw/master/scripts/cp1250_kick.pl description Kicks people using cp1250 charset script crapbuster.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/crapbuster.pl +url https://github.com/irssi/scripts/raw/master/scripts/crapbuster.pl description Removes CRAP or CLIENTCRAP messages from your buffer script cron.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cron.pl +url https://github.com/irssi/scripts/raw/master/scripts/cron.pl description cron implementation, allows to execute commands at given interval/time script cwho.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/cwho.pl +url https://github.com/irssi/scripts/raw/master/scripts/cwho.pl description Usage: /CWHO [-a | -l | -o | -v ] [ mask ] script dancer_forwardfix.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dancer_forwardfix.pl +url https://github.com/irssi/scripts/raw/master/scripts/dancer_forwardfix.pl description This script will fix the Irssi problem with channel forwarding on the Dancer ircd. script dancer_hide_477.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dancer_hide_477.pl +url https://github.com/irssi/scripts/raw/master/scripts/dancer_hide_477.pl description This script hides the 477 numerics from the dancer IRCd. script dau.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dau.pl +url https://github.com/irssi/scripts/raw/master/scripts/dau.pl description write like an idiot script dcc_ip.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dcc_ip.pl +url https://github.com/irssi/scripts/raw/master/scripts/dcc_ip.pl description This script sets dcc_own_ip when starting a DCC send or chat.set dcc_ip_interface to your external interface, f.e. ppp0.If you are connecting though a router, set it to "router" script dccmove.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dccmove.pl +url https://github.com/irssi/scripts/raw/master/scripts/dccmove.pl description Move completed dcc gets to the subfolder done script dccself.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dccself.pl +url https://github.com/irssi/scripts/raw/master/scripts/dccself.pl description /dccself ip port, starts a dcc chat with yourself on that host/port, best used with /set dcc_autochat_masks. script dccstat.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dccstat.pl +url https://github.com/irssi/scripts/raw/master/scripts/dccstat.pl description Shows verbose or short information of dcc send/gets on statusbar (speed, size, eta etc.) script defaultchanmode.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/defaultchanmode.pl +url https://github.com/irssi/scripts/raw/master/scripts/defaultchanmode.pl description Allows your client to automatically set desired chanmode upon a join to an empty channel. script df.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/df.pl +url https://github.com/irssi/scripts/raw/master/scripts/df.pl description Adds an item which displays the current disk usage. script dice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dice.pl +url https://github.com/irssi/scripts/raw/master/scripts/dice.pl description A Dice Simulator for Roleplaying in Channels or just for fun. script dictcomplete.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dictcomplete.pl +url https://github.com/irssi/scripts/raw/master/scripts/dictcomplete.pl description Caching dictionary based tab completion script dispatch.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/dispatch.pl +url https://github.com/irssi/scripts/raw/master/scripts/dispatch.pl description This scripts sends unknown commands to the server script doc.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/doc.pl +url https://github.com/irssi/scripts/raw/master/scripts/doc.pl description manage tips ; url ; help in a doc file in the keyword=definition form script doublefilter.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/doublefilter.pl +url https://github.com/irssi/scripts/raw/master/scripts/doublefilter.pl description Filters msgs which appear the same on different channels. script eliza.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/eliza.pl +url https://github.com/irssi/scripts/raw/master/scripts/eliza.pl description Answers to /msg's using Chatbot::Eliza when you're away. script emaildb1.0.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/emaildb1.0.pl +url https://github.com/irssi/scripts/raw/master/scripts/emaildb1.0.pl description a script for accessing an email mysql database through irc script events.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/events.pl +url https://github.com/irssi/scripts/raw/master/scripts/events.pl description Expand "event mode" and emit "event mode {channel,user,server} *" script exec_clean.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/exec_clean.pl +url https://github.com/irssi/scripts/raw/master/scripts/exec_clean.pl description Adds a setting to automatically terminate a process whose parent window has been closed script fakectcp.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/fakectcp.pl +url https://github.com/irssi/scripts/raw/master/scripts/fakectcp.pl description This script sends fake ctcp replies to a client using a fake ctcp list. script figlet.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/figlet.pl +url https://github.com/irssi/scripts/raw/master/scripts/figlet.pl description Safe figlet implementation (with color support!) script file.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/file.pl +url https://github.com/irssi/scripts/raw/master/scripts/file.pl description A command to output content of files in various ways script find.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/find.pl +url https://github.com/irssi/scripts/raw/master/scripts/find.pl description Finds a nick by real name, if he's on a channel with you. script findbot.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/findbot.pl +url https://github.com/irssi/scripts/raw/master/scripts/findbot.pl description Public command @find script script fleech.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/fleech.pl +url https://github.com/irssi/scripts/raw/master/scripts/fleech.pl description fserve leecher - helps you download files from file servers script follow.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/follow.pl +url https://github.com/irssi/scripts/raw/master/scripts/follow.pl description Automatically switch to active windows script foo.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/foo.pl +url https://github.com/irssi/scripts/raw/master/scripts/foo.pl description Rot n+i encryption and decryption script foreach_user.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/foreach_user.pl +url https://github.com/irssi/scripts/raw/master/scripts/foreach_user.pl description Extends the /foreach command to have /foreach user (users in a channel). Syntax: /foreach user [hostmask] command. script fortune.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/fortune.pl +url https://github.com/irssi/scripts/raw/master/scripts/fortune.pl description Send a random fortune cookie to an user in channel. script forward.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/forward.pl +url https://github.com/irssi/scripts/raw/master/scripts/forward.pl description forward incoming messages to another nick script freenode_filter.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/freenode_filter.pl +url https://github.com/irssi/scripts/raw/master/scripts/freenode_filter.pl description This script will filter some Freenode IRCD (Dancer) servernotices. script friends_peder.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/friends_peder.pl +url https://github.com/irssi/scripts/raw/master/scripts/friends_peder.pl description Basicly an autoop script with a nice interface and nick coloring ;) script friends_shasta.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/friends_shasta.pl +url https://github.com/irssi/scripts/raw/master/scripts/friends_shasta.pl description Maintains list of people you know. script fserve.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/fserve.pl +url https://github.com/irssi/scripts/raw/master/scripts/fserve.pl description File server for irssi script fuckem.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/fuckem.pl +url https://github.com/irssi/scripts/raw/master/scripts/fuckem.pl description Simulates the BitchX /FUCKEM command. Deop/Dehalfop everyone on the channel including you. script getop.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/getop.pl +url https://github.com/irssi/scripts/raw/master/scripts/getop.pl description Automatically request op from random opped person with specifed command from list after joining channel script gimmie.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/gimmie.pl +url https://github.com/irssi/scripts/raw/master/scripts/gimmie.pl description a bot script, using ! followed by anything the script will say (as an action): gets nickname anything script go.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/go.pl +url https://github.com/irssi/scripts/raw/master/scripts/go.pl description Implements /go command that activates a window given a name/partial name. It features a nice completion. script google.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/google.pl +url https://github.com/irssi/scripts/raw/master/scripts/google.pl description This script queries google.com and returns the results. script gpgvalidator.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/gpgvalidator.pl +url https://github.com/irssi/scripts/raw/master/scripts/gpgvalidator.pl description Have gpg-based trusting features in your irssi client! script grep.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/grep.pl +url https://github.com/irssi/scripts/raw/master/scripts/grep.pl description /GREP [-i] [-w] [-v] [-F] script guts.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/guts.pl +url https://github.com/irssi/scripts/raw/master/scripts/guts.pl description Adds the uppercased version of the tab completes script hddtemp.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hddtemp.pl +url https://github.com/irssi/scripts/raw/master/scripts/hddtemp.pl description adds a statusbar item which shows temperatures of harddisks (with multiple hddtemp-hosts support) script hello.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hello.pl +url https://github.com/irssi/scripts/raw/master/scripts/hello.pl description This script allows you to greet the channel You're joining with the command /hello. The text it shows depends on the time you're living. script hide.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hide.pl +url https://github.com/irssi/scripts/raw/master/scripts/hide.pl description a little interface to irssi's activity_hide_* settings script hideauth.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hideauth.pl +url https://github.com/irssi/scripts/raw/master/scripts/hideauth.pl description Stops eggdrop passwords showing up script highlite.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/highlite.pl +url https://github.com/irssi/scripts/raw/master/scripts/highlite.pl description shows events happening in all channels you are in that may concern you script hignore.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hignore.pl +url https://github.com/irssi/scripts/raw/master/scripts/hignore.pl description This script will add the HIGNORE command, if you use this command in a query it will ignore the host. script hilightwin.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hilightwin.pl +url https://github.com/irssi/scripts/raw/master/scripts/hilightwin.pl description Print hilighted messages to window named "hilight" script history_search.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/history_search.pl +url https://github.com/irssi/scripts/raw/master/scripts/history_search.pl description Search within your typed history as you type (like ctrl-R in bash) script hl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hl.pl +url https://github.com/irssi/scripts/raw/master/scripts/hl.pl description responds to "!hl counterstrike.server " command on channels/msg's to query counter-strike servers script hlbot.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hlbot.pl +url https://github.com/irssi/scripts/raw/master/scripts/hlbot.pl description Floods the channel about things that are hapening in your hl -server. Also enables you to send rcon commands to the server from channel. script hostname.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/hostname.pl +url https://github.com/irssi/scripts/raw/master/scripts/hostname.pl description Adds a /HOSTNAME command; it will list all IP addresses on all interfaces found on your machine, resolve them, and allow you to choose one easily script iMPD.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/iMPD.pl +url https://github.com/irssi/scripts/raw/master/scripts/iMPD.pl description This controls Music Player Daemon from the familiar irssi interface script identify-md5.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/identify-md5.pl +url https://github.com/irssi/scripts/raw/master/scripts/identify-md5.pl description MD5 NickServ identification script for SorceryNet script idletime.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/idletime.pl +url https://github.com/irssi/scripts/raw/master/scripts/idletime.pl description Retrieves the idletime of any nick script idonkey.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/idonkey.pl +url https://github.com/irssi/scripts/raw/master/scripts/idonkey.pl description equips Irssi with an interface to mldonkey script ignore_log.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ignore_log.pl +url https://github.com/irssi/scripts/raw/master/scripts/ignore_log.pl description script to log ignored messages script ignoreoc.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ignoreoc.pl +url https://github.com/irssi/scripts/raw/master/scripts/ignoreoc.pl description Ignore messages from people not on your channels.Now people you msg are added to bypass-list. script il.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/il.pl +url https://github.com/irssi/scripts/raw/master/scripts/il.pl description adds a statusbar item which show length of the inputline script imdb.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/imdb.pl +url https://github.com/irssi/scripts/raw/master/scripts/imdb.pl description Automatically lookup IMDB-numbers in nicknames script invitejoin.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/invitejoin.pl +url https://github.com/irssi/scripts/raw/master/scripts/invitejoin.pl description This script will join a channel if somebody invites you to it. script ipupdate.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ipupdate.pl +url https://github.com/irssi/scripts/raw/master/scripts/ipupdate.pl description Auto "/set dcc_own_ip IP" on connect. script irccomplete.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/irccomplete.pl +url https://github.com/irssi/scripts/raw/master/scripts/irccomplete.pl description Adds words from IRC to your tab-completion list, plus fixes typos script ircgallery.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ircgallery.pl +url https://github.com/irssi/scripts/raw/master/scripts/ircgallery.pl description Show IRC gallery (http://irc-galleria.net, finnish only) information on /WHOIS or /GALLERY script ircgmessagenotify.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ircgmessagenotify.pl +url https://github.com/irssi/scripts/raw/master/scripts/ircgmessagenotify.pl description Tarkistelee irc-galleria.net:iä ja sanoo kun sinulle on uusia viestejä. script ircops.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ircops.pl +url https://github.com/irssi/scripts/raw/master/scripts/ircops.pl description /IRCOPS - Display IrcOps in current channel script ircsec.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ircsec.pl +url https://github.com/irssi/scripts/raw/master/scripts/ircsec.pl description secures your conversation script irssiBlaster.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/irssiBlaster.pl +url https://github.com/irssi/scripts/raw/master/scripts/irssiBlaster.pl description Display the song played by mp3blaster in channels and statusbar. See the top of the file for usage. script isdn.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/isdn.pl +url https://github.com/irssi/scripts/raw/master/scripts/isdn.pl description Displays incoming ISDN calls script itime.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/itime.pl +url https://github.com/irssi/scripts/raw/master/scripts/itime.pl description Internet Time statusbar item. See http://www.timeanddate.com/time/internettime.html script ixmmsa.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ixmmsa.pl +url https://github.com/irssi/scripts/raw/master/scripts/ixmmsa.pl description /xmms announces which _file_ is currently playing. E.g. Currently playing: "Kieran Halpin & Band - Mirror Town.mp3" script joininfo.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/joininfo.pl +url https://github.com/irssi/scripts/raw/master/scripts/joininfo.pl description Reports WHOIS information and channel list for those who join a channel script kblamehost.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/kblamehost.pl +url https://github.com/irssi/scripts/raw/master/scripts/kblamehost.pl description Kicks (and bans) people with >= 4 dots in theirs hostname script keepnick.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/keepnick.pl +url https://github.com/irssi/scripts/raw/master/scripts/keepnick.pl description Try to get your nick back when it becomes available. script kenny.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/kenny.pl +url https://github.com/irssi/scripts/raw/master/scripts/kenny.pl description autodekennyfies /kenny, adds /kenny, /dekenny. Based on Jan-Pieter Cornets signature version script kernel.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/kernel.pl +url https://github.com/irssi/scripts/raw/master/scripts/kernel.pl description Fetches the version(s) of the latest Linux kernel(s). script kicks.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/kicks.pl +url https://github.com/irssi/scripts/raw/master/scripts/kicks.pl description Enhances /k /kb and /kn with some nice options. script kill_fake_gets.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/kill_fake_gets.pl +url https://github.com/irssi/scripts/raw/master/scripts/kill_fake_gets.pl description When new send arrives checks if there are old identical sends (ie from the same nick on the same server and with the same filename) and closes them script kline_warning.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/kline_warning.pl +url https://github.com/irssi/scripts/raw/master/scripts/kline_warning.pl description This script shows a warning in the statuswindow if somebody preforms a /KlINE or /UNKLINE. script l33tmusic.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/l33tmusic.pl +url https://github.com/irssi/scripts/raw/master/scripts/l33tmusic.pl description A script to show playing xmms song in channel or in a statusbar, and also control xmms. Be sure to read through the script to see all features. script lastspoke.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/lastspoke.pl +url https://github.com/irssi/scripts/raw/master/scripts/lastspoke.pl description Remembers what people said last on what channels script len.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/len.pl +url https://github.com/irssi/scripts/raw/master/scripts/len.pl description If you try to get a nick with 11 characters but only 9 are allowed, this script will prevent the nickchange. The same for too long topics, kickmsgs, partmsgs and quitmsgs. script leodict.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/leodict.pl +url https://github.com/irssi/scripts/raw/master/scripts/leodict.pl description translates via dict.leo.org script licq.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/licq.pl +url https://github.com/irssi/scripts/raw/master/scripts/licq.pl description Licq statusbar thingy script linkchan.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/linkchan.pl +url https://github.com/irssi/scripts/raw/master/scripts/linkchan.pl description Link several channels on serveral networks script listen.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/listen.pl +url https://github.com/irssi/scripts/raw/master/scripts/listen.pl description A simple mp3 display script that will display what mp3 you are playing in which software (mpg123, xmms, mp3blaster, etc) to your active channel or to a query window. script loadavg.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/loadavg.pl +url https://github.com/irssi/scripts/raw/master/scripts/loadavg.pl description display a loadavg statusbar item using vm.loadavg mib or /proc/loadavg script localize.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/localize.pl +url https://github.com/irssi/scripts/raw/master/scripts/localize.pl description Localizes users using traceroute, the localizer database or IP-Atlas script log2ansi.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/log2ansi.pl +url https://github.com/irssi/scripts/raw/master/scripts/log2ansi.pl description convert mirc color and irssi interal formatting to ansi colors, useful for log filtering script logcompress.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/logcompress.pl +url https://github.com/irssi/scripts/raw/master/scripts/logcompress.pl description compress logfiles then they're rotated +script logresume.pl +url https://github.com/irssi/scripts/raw/master/scripts/logresume.pl +description print last n lines of logs when opening queries/channels + script mailcheck_imap.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mailcheck_imap.pl +url https://github.com/irssi/scripts/raw/master/scripts/mailcheck_imap.pl description Staturbar item which indicates how many new emails you have in the specified IMAP[S] mailbox script mailcheck_mbox_flux.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mailcheck_mbox_flux.pl +url https://github.com/irssi/scripts/raw/master/scripts/mailcheck_mbox_flux.pl description Polls your unix mailbox for new mail script mailcheck_pop3_kimmo.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mailcheck_pop3_kimmo.pl +url https://github.com/irssi/scripts/raw/master/scripts/mailcheck_pop3_kimmo.pl description POP3 new mail notification and listing of mailbox contents. Use "/mail help" for instructions. Requires Net::POP3. script mangle.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mangle.pl +url https://github.com/irssi/scripts/raw/master/scripts/mangle.pl description translates your messages into Morse code, rot13 and other sillinesses. script map.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/map.pl +url https://github.com/irssi/scripts/raw/master/scripts/map.pl description Generates simple tree of IRC network based on the output of the LINKS command. script mass_hilight_blocker.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mass_hilight_blocker.pl +url https://github.com/irssi/scripts/raw/master/scripts/mass_hilight_blocker.pl description Disables hilighting for messages containing a lot of nicknames script miodek.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/miodek.pl +url https://github.com/irssi/scripts/raw/master/scripts/miodek.pl description Simple wordkick system, with extended polish dictionary for channels enforcing correct polish. script mkick.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mkick.pl +url https://github.com/irssi/scripts/raw/master/scripts/mkick.pl description Masskick, usage: /mkick [-aovdln6 (hostmask)] <[:]reason> -script mkshorterlink.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mkshorterlink.pl -description Automatically filters all http:// links through makeashorterlink.com - script mldonkey_bandwidth.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mldonkey_bandwidth.pl +url https://github.com/irssi/scripts/raw/master/scripts/mldonkey_bandwidth.pl description Shows your mldonkey's current down- and upload rate script modelist-r.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/modelist-r.pl +url https://github.com/irssi/scripts/raw/master/scripts/modelist-r.pl description Cache of invites, ban exceptions and reops in channel. Script commands: /si, /se, /sr, /unexcept, /uninvite, /unreop (version only for ircd >= 2.11.0). script modelist.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/modelist.pl +url https://github.com/irssi/scripts/raw/master/scripts/modelist.pl description Cache of invites and ban exceptions in channel. Usage: /si, /se, /unexcept [indexes], /uninvite [indexes] script mood.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mood.pl +url https://github.com/irssi/scripts/raw/master/scripts/mood.pl description Keeps track of the channel mood script morse.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/morse.pl +url https://github.com/irssi/scripts/raw/master/scripts/morse.pl description turns your messages into morse or spelling code script mouse.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mouse.pl +url https://github.com/irssi/scripts/raw/master/scripts/mouse.pl description control irssi using mouse clicks and gestures script mpg123.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mpg123.pl +url https://github.com/irssi/scripts/raw/master/scripts/mpg123.pl description Display current mpg123 track script multipaste.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/multipaste.pl +url https://github.com/irssi/scripts/raw/master/scripts/multipaste.pl description Helps pasting multiple lines to a channel script my_beep.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/my_beep.pl +url https://github.com/irssi/scripts/raw/master/scripts/my_beep.pl description runs arbitrary command instead of system beep, includes flood protection script mygoogle.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mygoogle.pl +url https://github.com/irssi/scripts/raw/master/scripts/mygoogle.pl description Query Google script myimdb.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/myimdb.pl +url https://github.com/irssi/scripts/raw/master/scripts/myimdb.pl description Query imdb script mysqlurllogger.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/mysqlurllogger.pl +url https://github.com/irssi/scripts/raw/master/scripts/mysqlurllogger.pl description logs url's to mysql database script nact.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nact.pl +url https://github.com/irssi/scripts/raw/master/scripts/nact.pl description Adds an item which displays the current network activity. Needs /proc/net/dev. script news.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/news.pl +url https://github.com/irssi/scripts/raw/master/scripts/news.pl description News reader, usage: /article [-s ] [-p ] [-P -U ] [-l ] [-a] [-L ] script newsline.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/newsline.pl +url https://github.com/irssi/scripts/raw/master/scripts/newsline.pl description brings various newstickers to Irssi (Slashdot, Freshmeat, Heise etc.) script nickban.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nickban.pl +url https://github.com/irssi/scripts/raw/master/scripts/nickban.pl description A simple nick banner. If it encounters a nick it bans its host script nickcolor.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nickcolor.pl +url https://github.com/irssi/scripts/raw/master/scripts/nickcolor.pl description assign a different color for each nick script nickignore.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nickignore.pl +url https://github.com/irssi/scripts/raw/master/scripts/nickignore.pl description Ignores any nick changes when only the case or special characters are modified, like 'rpr -> Rpr' or 'rpr_ -> rpr', with optional pattern for more complicated ignores script nicklist.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nicklist.pl +url https://github.com/irssi/scripts/raw/master/scripts/nicklist.pl description draws a nicklist to another terminal, or at the right of your irssi in the same terminal script nickmix-c0ffee.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nickmix-c0ffee.pl +url https://github.com/irssi/scripts/raw/master/scripts/nickmix-c0ffee.pl description Perturbates your nick, use /nickmix nick/len where len is the number of chars you want to keep from your orig nick. use /stopmix to stop. Always issue the commands in a window of the server you want to mix in. script nickmix_pasky.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nickmix_pasky.pl +url https://github.com/irssi/scripts/raw/master/scripts/nickmix_pasky.pl description Perturbates given nick (or just a word) in certain way. script nickserv.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nickserv.pl +url https://github.com/irssi/scripts/raw/master/scripts/nickserv.pl description This script will authorize you into NickServ. script niq.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/niq.pl +url https://github.com/irssi/scripts/raw/master/scripts/niq.pl description BitchX like Nickcompletion at line start plus statusbar script nm.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nm.pl +url https://github.com/irssi/scripts/raw/master/scripts/nm.pl description right aligned nicks depending on longest nick script nocaps.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nocaps.pl +url https://github.com/irssi/scripts/raw/master/scripts/nocaps.pl description Replaces lines in ALL CAPS with something easier on the eyes script nocollide.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nocollide.pl +url https://github.com/irssi/scripts/raw/master/scripts/nocollide.pl description Automatically changes nick (to randnick or uid on ircd 2.11) when certain amount of nick colissionstakes place on channel script noisyquery.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/noisyquery.pl +url https://github.com/irssi/scripts/raw/master/scripts/noisyquery.pl description Prints an info about a newly started Query in your current window and runs a /whois on the nick. script nopl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/nopl.pl +url https://github.com/irssi/scripts/raw/master/scripts/nopl.pl description Replaces polish national characters with their corresponding letters script norepeat.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/norepeat.pl +url https://github.com/irssi/scripts/raw/master/scripts/norepeat.pl description stops public repeating script noteserve.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/noteserve.pl +url https://github.com/irssi/scripts/raw/master/scripts/noteserve.pl description Utilizes NoteServ to implement a buddylist script noticemove.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/noticemove.pl +url https://github.com/irssi/scripts/raw/master/scripts/noticemove.pl description Prints private notices from people in the channel where they are joined with you. Useful when you get lots of private notices from some bots. script notonline.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/notonline.pl +url https://github.com/irssi/scripts/raw/master/scripts/notonline.pl description Answers "$nick: No." if you're away and someone asks are you online on a channel script ogg123.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ogg123.pl +url https://github.com/irssi/scripts/raw/master/scripts/ogg123.pl description Display current ogg123 track script oidenty.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/oidenty.pl +url https://github.com/irssi/scripts/raw/master/scripts/oidenty.pl description oidentd support for irssi script on.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/on.pl +url https://github.com/irssi/scripts/raw/master/scripts/on.pl description /on command - this is very simple and not really designed to be the same as ircII - it tries to fit into Irssi's usage style more than emulating ircII. script ontv.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ontv.pl +url https://github.com/irssi/scripts/raw/master/scripts/ontv.pl description turns irssi into a tv program guide script oops.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/oops.pl +url https://github.com/irssi/scripts/raw/master/scripts/oops.pl description turns 'ls' in the beginning of a sent line into the names or whois commands script openurl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/openurl.pl +url https://github.com/irssi/scripts/raw/master/scripts/openurl.pl description Stores URLs in a list and launches mail, web or ftp software script operit.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/operit.pl +url https://github.com/irssi/scripts/raw/master/scripts/operit.pl description Perform certain action (invite/op/...) on request authenticated by the IRC operator status. script operview.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/operview.pl +url https://github.com/irssi/scripts/raw/master/scripts/operview.pl description Reformats some server notices, which may come i.e. from &clients or &servers at IRCnet. You can turn the script on/off bytoggling variable mangle_server_notices. script opnotice.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/opnotice.pl +url https://github.com/irssi/scripts/raw/master/scripts/opnotice.pl description No description. script opnotify.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/opnotify.pl +url https://github.com/irssi/scripts/raw/master/scripts/opnotify.pl description Hilights window refnumber in statusbar if someone ops/deops you on channel script osd.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/osd.pl +url https://github.com/irssi/scripts/raw/master/scripts/osd.pl description An OnScreenDisplay (osd) it show's who is talking to you, on what IRC Network. script page-c0ffee.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/page-c0ffee.pl +url https://github.com/irssi/scripts/raw/master/scripts/page-c0ffee.pl description Adds the /PAGE command to page a nick (use /page nick )... to ignore pages /set pager_mode off script page_reeler.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/page_reeler.pl +url https://github.com/irssi/scripts/raw/master/scripts/page_reeler.pl description display and send CTCP PAGE script pager.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/pager.pl +url https://github.com/irssi/scripts/raw/master/scripts/pager.pl description Notifies people if they send you a private message or a DCC chat offer while you are away; runs a shell command configurable via /set if they page you script paste-derwan.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/paste-derwan.pl +url https://github.com/irssi/scripts/raw/master/scripts/paste-derwan.pl description Usage: /paste [-all|-msgs|-public] [-c|-b] [-s|-l| where] [lines] script paste_derwan.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/paste_derwan.pl +url https://github.com/irssi/scripts/raw/master/scripts/paste_derwan.pl description Pasting lines to specified targets, type "/paste -help" for help script paste_huggie.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/paste_huggie.pl +url https://github.com/irssi/scripts/raw/master/scripts/paste_huggie.pl description Paste reformats long pieces of text typically pasted into your client from webpages so that they fit nicely into your channel. Width of client may be specified script paste_kimmoke.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/paste_kimmoke.pl +url https://github.com/irssi/scripts/raw/master/scripts/paste_kimmoke.pl description Provides /start, /stop, /play <-nopack> <-nospace> paste mechanism - start and stop recording and then replay without linebreaks. Also /see to view what was recorded. script pelix.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/pelix.pl +url https://github.com/irssi/scripts/raw/master/scripts/pelix.pl description This script allows you flood shit. script people.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/people.pl +url https://github.com/irssi/scripts/raw/master/scripts/people.pl description Userlist with autoopping, autokicking etc. script pggb_sound.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/pggb_sound.pl +url https://github.com/irssi/scripts/raw/master/scripts/pggb_sound.pl description does CTCP SOUNDs and other similar things. script poison.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/poison.pl +url https://github.com/irssi/scripts/raw/master/scripts/poison.pl description equips Irssi with an interface to giFT script postpone.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/postpone.pl +url https://github.com/irssi/scripts/raw/master/scripts/postpone.pl description Postpones messages sent to a splitted user and resends them when the nick rejoins script ppl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/ppl.pl +url https://github.com/irssi/scripts/raw/master/scripts/ppl.pl description port of asmodean's /ppl command from skuld3 script query.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/query.pl +url https://github.com/irssi/scripts/raw/master/scripts/query.pl description Give you more control over when to jump to query windows and when to just tell you one has been created. Enhanced autoclose. script queryresume.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/queryresume.pl +url https://github.com/irssi/scripts/raw/master/scripts/queryresume.pl description restores the last lines of a query on re-creation script quitrand.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/quitrand.pl +url https://github.com/irssi/scripts/raw/master/scripts/quitrand.pl description Random quit messages - based on quitmsg (Timo Sirainen) script quiz.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/quiz.pl +url https://github.com/irssi/scripts/raw/master/scripts/quiz.pl description Turns irssi into a quiz bot script quizgr.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/quizgr.pl +url https://github.com/irssi/scripts/raw/master/scripts/quizgr.pl description Turns irssi into a quiz bot. Has greek language and many answers support script quizmaster.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/quizmaster.pl +url https://github.com/irssi/scripts/raw/master/scripts/quizmaster.pl description a trivia script for Irssi script rainbow.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/rainbow.pl +url https://github.com/irssi/scripts/raw/master/scripts/rainbow.pl description Prints colored text. Rather simple than sophisticated. script randaway.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/randaway.pl +url https://github.com/irssi/scripts/raw/master/scripts/randaway.pl description Random away-messages script randname.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/randname.pl +url https://github.com/irssi/scripts/raw/master/scripts/randname.pl description Random "/set real_name" taken from a file. script relm.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/relm.pl +url https://github.com/irssi/scripts/raw/master/scripts/relm.pl description Keeps last 15 messages in cache script remote.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/remote.pl +url https://github.com/irssi/scripts/raw/master/scripts/remote.pl description Lets you run commands remotely via /msg and a password script repeat.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/repeat.pl +url https://github.com/irssi/scripts/raw/master/scripts/repeat.pl description Hide duplicate lines script resize_split.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/resize_split.pl +url https://github.com/irssi/scripts/raw/master/scripts/resize_split.pl description Resizes a split window when it is made active (see comments in script for details) script rk.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/rk.pl +url https://github.com/irssi/scripts/raw/master/scripts/rk.pl description /RK [-o | -l | -a] - kicks random nick from ops | lusers | all on channel script romaji.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/romaji.pl +url https://github.com/irssi/scripts/raw/master/scripts/romaji.pl description translates romaji to hiragana or katakana in text enclosed in ^R script romajibind.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/romajibind.pl +url https://github.com/irssi/scripts/raw/master/scripts/romajibind.pl description Dynamic romaji binds script rot13.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/rot13.pl +url https://github.com/irssi/scripts/raw/master/scripts/rot13.pl description ROT13 encoding and reverse :) script rotator.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/rotator.pl +url https://github.com/irssi/scripts/raw/master/scripts/rotator.pl description Displaye a small, changeing statusbar item to show irssi is still running script sana_cmd.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/sana_cmd.pl +url https://github.com/irssi/scripts/raw/master/scripts/sana_cmd.pl description /sana command, translates english-finnish-english. script schwaebisch.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/schwaebisch.pl +url https://github.com/irssi/scripts/raw/master/scripts/schwaebisch.pl description /schwäbisch - translates your messages from german to swabian script screen_away.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/screen_away.pl +url https://github.com/irssi/scripts/raw/master/scripts/screen_away.pl description set (un)away, if screen is attached/detached script scripthelp.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/scripthelp.pl +url https://github.com/irssi/scripts/raw/master/scripts/scripthelp.pl description Provides access to script's help script scriptinfo.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/scriptinfo.pl +url https://github.com/irssi/scripts/raw/master/scripts/scriptinfo.pl description Access script information script scroller.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/scroller.pl +url https://github.com/irssi/scripts/raw/master/scripts/scroller.pl description Scrolls specified text on the status bar script seen.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/seen.pl +url https://github.com/irssi/scripts/raw/master/scripts/seen.pl description Tell people when other people were online script seti.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/seti.pl +url https://github.com/irssi/scripts/raw/master/scripts/seti.pl description Tell ppl how far you've gotten with you SETI\@home workunit. script shortenurl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/shortenurl.pl +url https://github.com/irssi/scripts/raw/master/scripts/shortenurl.pl description shortenurl script showhilight.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/showhilight.pl +url https://github.com/irssi/scripts/raw/master/scripts/showhilight.pl description Show hilight messages in active window script showhost.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/showhost.pl +url https://github.com/irssi/scripts/raw/master/scripts/showhost.pl description show host kicks script showmode.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/showmode.pl +url https://github.com/irssi/scripts/raw/master/scripts/showmode.pl description show modes in parts, quits, kicks, topic changes or actions, like show_nickmode does for public messages script smiley.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/smiley.pl +url https://github.com/irssi/scripts/raw/master/scripts/smiley.pl description Very useful smiley-flooder script sms.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/sms.pl +url https://github.com/irssi/scripts/raw/master/scripts/sms.pl description /ADDSMS, /DELSMS, /LISTSMS and /SMS - phone address-book with smssender, for now supports only Polish operators script snmpup.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/snmpup.pl +url https://github.com/irssi/scripts/raw/master/scripts/snmpup.pl description This script queries remote hosts (/snmpup ) running snmpd for it's uptime and cpu usage script spambot.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/spambot.pl +url https://github.com/irssi/scripts/raw/master/scripts/spambot.pl description Oper script to kill Spam Bots. script special_complete.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/special_complete.pl +url https://github.com/irssi/scripts/raw/master/scripts/special_complete.pl description (tab)complete irssi special variables (words that start with $) by evaluating them script spellcheck.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/spellcheck.pl +url https://github.com/irssi/scripts/raw/master/scripts/spellcheck.pl description Checks for spelling errors using Aspell. script sping.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/sping.pl +url https://github.com/irssi/scripts/raw/master/scripts/sping.pl description /SPING [server] - checks latency between current server and [server] script stocks.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/stocks.pl +url https://github.com/irssi/scripts/raw/master/scripts/stocks.pl description prints the stats for german stocks script synccheck.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/synccheck.pl +url https://github.com/irssi/scripts/raw/master/scripts/synccheck.pl description Script checking channel synchronization. Usage: /sync-check [channel (servers)|-stop] script sysinfo277-irssi.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/sysinfo277-irssi.pl +url https://github.com/irssi/scripts/raw/master/scripts/sysinfo277-irssi.pl description Cross-platform/architecture system information script. script sysinfo_dg.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/sysinfo_dg.pl +url https://github.com/irssi/scripts/raw/master/scripts/sysinfo_dg.pl description Adds a /sysinfo command which prints system information (linux only). script sysinfoplus.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/sysinfoplus.pl +url https://github.com/irssi/scripts/raw/master/scripts/sysinfoplus.pl description Linux system information (with vPenis and other stuff) script tab_stop.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/tab_stop.pl +url https://github.com/irssi/scripts/raw/master/scripts/tab_stop.pl description This script replaces the evil inverted 'I' with a configurable number of whitespaces script target.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/target.pl +url https://github.com/irssi/scripts/raw/master/scripts/target.pl description advances IRC warfare to the next level ;) script thankop.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/thankop.pl +url https://github.com/irssi/scripts/raw/master/scripts/thankop.pl description Remembers the last person oping you on a channel script thistory.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/thistory.pl +url https://github.com/irssi/scripts/raw/master/scripts/thistory.pl description Keeps information about the most recent topics of the channels you are on. script timer.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/timer.pl +url https://github.com/irssi/scripts/raw/master/scripts/timer.pl description Provides /timer command for mIRC/BitchX type timer functionality. script tinyurl.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/tinyurl.pl +url https://github.com/irssi/scripts/raw/master/scripts/tinyurl.pl description create a tinyurl from a long one script title.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/title.pl +url https://github.com/irssi/scripts/raw/master/scripts/title.pl description Display configurable title as XTerm title script tlock.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/tlock.pl +url https://github.com/irssi/scripts/raw/master/scripts/tlock.pl description /TLOCK [-d] [channel] [topic] - locks current or specified topic on [channel] script topics.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/topics.pl +url https://github.com/irssi/scripts/raw/master/scripts/topics.pl description records a topic history and locks the channel topic script topicsed.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/topicsed.pl +url https://github.com/irssi/scripts/raw/master/scripts/topicsed.pl description editing channel topics by regexps script trackbar.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/trackbar.pl +url https://github.com/irssi/scripts/raw/master/scripts/trackbar.pl description Shows a bar where you've last read a window script tracknick.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/tracknick.pl +url https://github.com/irssi/scripts/raw/master/scripts/tracknick.pl description Are you ever tired of those people who keep changing their nicks? Or maybe you just don't like someone's nick? This script lets you see them with the real nick all the time no matter what nick they're currently using. script trigger.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/trigger.pl +url https://github.com/irssi/scripts/raw/master/scripts/trigger.pl description execute a command or replace text, triggered by an event in irssi script trustweb.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/trustweb.pl +url https://github.com/irssi/scripts/raw/master/scripts/trustweb.pl description Illustrates the trust between ops script tvmusor.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/tvmusor.pl +url https://github.com/irssi/scripts/raw/master/scripts/tvmusor.pl description asks for the current tv-lineup from http://www.port.hu/ script twprompt.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/twprompt.pl +url https://github.com/irssi/scripts/raw/master/scripts/twprompt.pl description BitchX's CrackRock3 animated prompt bar. script twsocials.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/twsocials.pl +url https://github.com/irssi/scripts/raw/master/scripts/twsocials.pl description IRC version of Social Commands script twtopic.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/twtopic.pl +url https://github.com/irssi/scripts/raw/master/scripts/twtopic.pl description Animated Topic bar. script upgradeinfo.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/upgradeinfo.pl +url https://github.com/irssi/scripts/raw/master/scripts/upgradeinfo.pl description Statusbaritem notifying you about updated binary script uptime.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/uptime.pl +url https://github.com/irssi/scripts/raw/master/scripts/uptime.pl description Try a little harder to figure out client uptime script url_log.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/url_log.pl +url https://github.com/irssi/scripts/raw/master/scripts/url_log.pl description logs urls to textfile or/and database, able to list, quote, open or `http head` saved urls. script urlgrab.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/urlgrab.pl -description Captures urls said in channel and private messages and saves them to a file, also adds a /url command which loads the last said url into mozilla. +url https://github.com/irssi/scripts/raw/master/scripts/urlgrab.pl +description Captures urls said in channel and private messages and saves them to a file, also adds a /url command which loads the last said url into a browser. script urlplot.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/urlplot.pl +url https://github.com/irssi/scripts/raw/master/scripts/urlplot.pl description URL grabber with HTML generation and cmd execution script userhost.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/userhost.pl +url https://github.com/irssi/scripts/raw/master/scripts/userhost.pl description Adds a -cmd option to the /USERHOST builtin command script users.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/users.pl +url https://github.com/irssi/scripts/raw/master/scripts/users.pl description Implements /USERS script version-stat.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/version-stat.pl +url https://github.com/irssi/scripts/raw/master/scripts/version-stat.pl description shows top[0-9]+ irc client versions in a channel script verstats.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/verstats.pl +url https://github.com/irssi/scripts/raw/master/scripts/verstats.pl description Draws a diagram of the used clients in a channel script vowels.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/vowels.pl +url https://github.com/irssi/scripts/raw/master/scripts/vowels.pl description Silly script, removes vowels, idea taken from #linuxnews ;-) script warnkick.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/warnkick.pl +url https://github.com/irssi/scripts/raw/master/scripts/warnkick.pl description warns you if someone kicks you out of a channel script washnicks.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/washnicks.pl +url https://github.com/irssi/scripts/raw/master/scripts/washnicks.pl description Removes annoying characters from nicks script watch.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/watch.pl +url https://github.com/irssi/scripts/raw/master/scripts/watch.pl description Uso del comando watch para irssi. script whitelist.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/whitelist.pl +url https://github.com/irssi/scripts/raw/master/scripts/whitelist.pl description Whitelist specific nicks or hosts and ignore messages from anyone else. script whois.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/whois.pl +url https://github.com/irssi/scripts/raw/master/scripts/whois.pl description Hilights '@' in whois channel reply script whos.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/whos.pl +url https://github.com/irssi/scripts/raw/master/scripts/whos.pl description This script allows you to view all users on a specific server. script wilm.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/wilm.pl +url https://github.com/irssi/scripts/raw/master/scripts/wilm.pl description Provides /wilm and /wiilm commands, which do a whois on a person who sent you last private message script wkb.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/wkb.pl +url https://github.com/irssi/scripts/raw/master/scripts/wkb.pl description A simple word kickbanner script wordcompletition.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/wordcompletition.pl +url https://github.com/irssi/scripts/raw/master/scripts/wordcompletition.pl description Adds words from IRC to your tab-completion list script wordscramble.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/wordscramble.pl +url https://github.com/irssi/scripts/raw/master/scripts/wordscramble.pl description A script that scrambles all the letters in a word except the first and last. script xauth.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xauth.pl +url https://github.com/irssi/scripts/raw/master/scripts/xauth.pl description Undernet X Service Authentication Program script xcmd.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xcmd.pl +url https://github.com/irssi/scripts/raw/master/scripts/xcmd.pl description makes Undernet's X commands easier and faster to use script xdccget.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xdccget.pl +url https://github.com/irssi/scripts/raw/master/scripts/xdccget.pl description enhanced downloading, queing, searching from XDCC bots script xetra.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xetra.pl +url https://github.com/irssi/scripts/raw/master/scripts/xetra.pl description brings the stock exchanges of the world to your irssi script xlist.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xlist.pl +url https://github.com/irssi/scripts/raw/master/scripts/xlist.pl description Better readable listing of channel names script xmms.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xmms.pl +url https://github.com/irssi/scripts/raw/master/scripts/xmms.pl description XMMS-InfoPipe front-end - allow /np [-help] [dest] script xmms2.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xmms2.pl +url https://github.com/irssi/scripts/raw/master/scripts/xmms2.pl description Returns XMMS-InfoPipe data script xmmsinfo.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xmmsinfo.pl +url https://github.com/irssi/scripts/raw/master/scripts/xmmsinfo.pl description /xmmsinfo to tell what you're currently playing script xqf.pl -url https://github.com/irssi/scripts/raw/gh-pages/scripts/xqf.pl +url https://github.com/irssi/scripts/raw/master/scripts/xqf.pl description automatically sends xqf data to irssi and optionally licq -script logresume.pl -url http://www.explodingferret.com/linux/irssi/logresume.pl -description Print last n lines of logs when opening queries/channels +script mkshorterlink.pl +url https://github.com/irssi/scripts/raw/gh-pages/scripts/mkshorterlink.pl +description Automatically filters all http:// links through makeashorterlink.com script twirssi.pl url http://raw.github.com/zigdon/twirssi/master/twirssi.pl diff -Nru irssi-scripts-20160301/scripts/act.pl irssi-scripts-20170711/scripts/act.pl --- irssi-scripts-20160301/scripts/act.pl 2016-02-29 21:22:24.000000000 +0000 +++ irssi-scripts-20170711/scripts/act.pl 2017-07-12 03:42:19.000000000 +0000 @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/usr/bin/perl # resets window activity status # by c0ffee # - http://www.penguin-breeder.org/irssi/ @@ -8,7 +8,7 @@ use vars qw($VERSION %IRSSI); use Irssi 20020120; -$VERSION = "0.14"; +$VERSION = "0.15"; %IRSSI = ( authors => "c0ffee", contact => "c0ffee\@penguin-breeder.org", @@ -30,7 +30,17 @@ # # /ACT ALL sets all windows as non-active -Irssi::command_bind('act', sub { _act(1); }); +Irssi::command_bind 'act' => sub { + my ( $data, $server, $item ) = @_; + $data =~ s/\s+$//g; + if ($data) { + Irssi::command_runsub('act', $data, $server, $item); + } + else { + _act(1); + } +}; + Irssi::command_bind('act public', sub { _act(2); }); Irssi::command_bind('act all', sub { _act(3); }); diff -Nru irssi-scripts-20160301/scripts/akilluser.pl irssi-scripts-20170711/scripts/akilluser.pl --- irssi-scripts-20160301/scripts/akilluser.pl 2016-02-29 21:22:18.000000000 +0000 +++ irssi-scripts-20170711/scripts/akilluser.pl 2017-07-12 03:49:50.000000000 +0000 @@ -55,8 +55,8 @@ Irssi::print("User $target not found on $channel->{name}"); return; } - if ($nickh->{host} =~ /\.oftc\.net$/) { # Do not AKILL staff from oftc. - Irssi::print("Not AKILLing OFTC staff"); + if ($server->masks_match(Irssi::settings_get_str('akill_exempt'), $target, $nickh->{host})) { + Irssi::print("Not AKILLing an akill-exempt user"); return; } $nickh->{host} =~ /(\S+)@(\S+)/; @@ -86,6 +86,7 @@ # Add the settings Irssi::settings_add_str("akilluser.pl", "akill_reason", 'This host violated network policy.'); -Irssi::settings_add_str("akilluser.pl", "akill_trailer", 'Mail support@oftc.net if you think this in error.'); +Irssi::settings_add_str("akilluser.pl", "akill_trailer", 'Mail support@oftc.net if you think this is in error.'); +Irssi::settings_add_str("akilluser.pl", "akill_exempt", '*!*@*.sponsor.oftc.net *!*@*.advisor.oftc.net *!*@*.netrep.oftc.net *!*@*.netop.oftc.net *!*@*.noc.oftc.net *!*@*.ombudsman.oftc.net *!*@*.chair.oftc.net'); Irssi::command_bind('akill', 'akill_nick'); diff -Nru irssi-scripts-20160301/scripts/apm.pl irssi-scripts-20170711/scripts/apm.pl --- irssi-scripts-20160301/scripts/apm.pl 2016-02-29 21:22:36.000000000 +0000 +++ irssi-scripts-20170711/scripts/apm.pl 2017-07-12 03:42:35.000000000 +0000 @@ -9,6 +9,7 @@ contact => "formorer\@formorer.de", name => "apm", description => "Shows your battery status in your Statusbar", + sbitems => "power", license => "GNU Public License", url => "http://www.formorer.de/code", ); diff -Nru irssi-scripts-20160301/scripts/autoaway.pl irssi-scripts-20170711/scripts/autoaway.pl --- irssi-scripts-20160301/scripts/autoaway.pl 2016-02-29 21:22:41.000000000 +0000 +++ irssi-scripts-20170711/scripts/autoaway.pl 2017-07-12 03:42:19.000000000 +0000 @@ -23,7 +23,7 @@ use Irssi::Irc; use vars qw($VERSION %IRSSI); -$VERSION = "0.3"; +$VERSION = "0.4"; %IRSSI = ( authors => 'Larry "Vizzie" Daffner', contact => 'vizzie@airmail.net', @@ -31,7 +31,7 @@ description => 'Automatically goes away after defined inactivity', license => 'BSD', url => 'http://www.flamingpackets.net/~vizzie/irssi/', - changed => 'Tue Oct 19 14:41:15 CDT 2010', + changed => 'Tue Apr 26 19:30:00 CDT 2016', changes => 'Applied multiserver/store config patch from Adam Monsen' ); @@ -76,16 +76,6 @@ if ($data eq "") { $autoaway_state = 0; - # If $autoaway_state is 2, we went away by typing /away, and need - # to restart autoaway ourselves. Otherwise, we were autoaway, and - # we'll let the autoaway return take care of business. - - if ($autoaway_state eq 2) { - if ($autoaway_sec) { - $autoaway_to_tag = - Irssi::timeout_add($autoaway_sec*1000, "auto_timeout", ""); - } - } } else { if ($autoaway_state eq 0) { Irssi::timeout_remove($autoaway_to_tag); diff -Nru irssi-scripts-20160301/scripts/awaybar.pl irssi-scripts-20170711/scripts/awaybar.pl --- irssi-scripts-20160301/scripts/awaybar.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/awaybar.pl 2017-07-12 03:43:04.000000000 +0000 @@ -12,6 +12,7 @@ contact => 'http://shine.eu.org/', name => 'awaybar', description => 'Provides a menubar item with away message', + sbitems => 'awaybar', license => 'Public domain', ); diff -Nru irssi-scripts-20160301/scripts/awaylogcnt.pl irssi-scripts-20170711/scripts/awaylogcnt.pl --- irssi-scripts-20160301/scripts/awaylogcnt.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/awaylogcnt.pl 2017-07-12 03:43:05.000000000 +0000 @@ -14,6 +14,7 @@ name => 'awalogcnt', description => 'Displays in statusbar number of messages in awaylog', modules => '', + sbitems => 'awaylogcnt', license => 'GNU GPL v2', url => 'http://derwan.irssi.pl', changed => 'Wed Oct 27 19:46:28 CEST 2004' diff -Nru irssi-scripts-20160301/scripts/awayproxy.pl irssi-scripts-20170711/scripts/awayproxy.pl --- irssi-scripts-20160301/scripts/awayproxy.pl 2016-02-29 23:22:55.000000000 +0000 +++ irssi-scripts-20170711/scripts/awayproxy.pl 2017-07-12 03:42:19.000000000 +0000 @@ -43,6 +43,8 @@ # * New logging expansion capability, either time or line based. # 0.2d # * Micro fix to get back only when needed +# 0.2e +# * Changed default values for $config{script_mode} and $config{emailto} for IRC-only and a non-existing placeholder respectively. #### To come / planned / wanted: # * Make expansion system log several channels at once. # * Make this script server based. @@ -56,7 +58,7 @@ use Irssi::Irc; use vars qw($VERSION %IRSSI %config); -$VERSION = "0.2d"; +$VERSION = "0.2e"; %IRSSI = ( authors => "BCOW", contact => "anttip\@n0-life.com", @@ -91,13 +93,13 @@ # 1 - only email # 2 - only irc # 3 - off -$config{script_mode} = 1; +$config{script_mode} = 2; # email address where to send the email -$config{emailto} = 'email@email.org'; +$config{emailto} = 'recipient@domain.tld'; # sendmail location $config{sendmail} = '/usr/sbin/sendmail'; # who is the sender of the email -$config{emailfrom} = 'email@email.org'; +$config{emailfrom} = 'sender@domain.tld'; # Subject of email $config{emailsubject} = '[irssi-proxy]'; # and the awayreason setting (Thanx Wulf) diff -Nru irssi-scripts-20160301/scripts/bandwidth.pl irssi-scripts-20170711/scripts/bandwidth.pl --- irssi-scripts-20160301/scripts/bandwidth.pl 2016-02-29 21:23:10.000000000 +0000 +++ irssi-scripts-20170711/scripts/bandwidth.pl 2017-07-12 03:43:10.000000000 +0000 @@ -27,6 +27,7 @@ contact => "riku.voipio\@iki.fi", name => "bandwidth", description => "shows bandwidth usage in statusbar", + sbitems => "stats", license => "GPLv2", url => "http://nchip.ukkosenjyly.mine.nu/irssiscripts/", ); diff -Nru irssi-scripts-20160301/scripts/bitlbee_join_notice.pl irssi-scripts-20170711/scripts/bitlbee_join_notice.pl --- irssi-scripts-20160301/scripts/bitlbee_join_notice.pl 2016-02-29 21:23:20.000000000 +0000 +++ irssi-scripts-20170711/scripts/bitlbee_join_notice.pl 2017-07-12 03:43:31.000000000 +0000 @@ -22,6 +22,7 @@ contact => 'tijmen.ruizendaal@gmail.com', name => 'BitlBee_join_notice', description => '1. Adds an item to the status bar wich shows [joined: ] when someone is joining &bitlbee. 2. Shows join messages in the query. (For bitlbee v3.0+)', + sbitems => 'join_notice', license => 'GPLv2', url => 'http://the-timing.nl/stuff/irssi-bitlbee', changed => '2010-08-10' diff -Nru irssi-scripts-20160301/scripts/bitlbee_typing_notice.pl irssi-scripts-20170711/scripts/bitlbee_typing_notice.pl --- irssi-scripts-20160301/scripts/bitlbee_typing_notice.pl 2016-02-29 21:23:24.000000000 +0000 +++ irssi-scripts-20170711/scripts/bitlbee_typing_notice.pl 2017-07-12 03:43:36.000000000 +0000 @@ -86,6 +86,7 @@ contact => 'tijmen.ruizendaal@gmail.com, root@f0rked.com', name => 'BitlBee_typing_notice', description => '1. Adds an item to the status bar wich shows [typing] when someone is typing a message on the supported IM-networks 2. Sends typing notices to the supported IM networks (the other way arround). (For bitlbee 3.0+)', + sbitems => 'typing_notice', license => 'GPLv2', url => 'http://the-timing.nl/stuff/irssi-bitlbee, http://f0rked.com', ); diff -Nru irssi-scripts-20160301/scripts/centericq.pl irssi-scripts-20170711/scripts/centericq.pl --- irssi-scripts-20160301/scripts/centericq.pl 2016-02-29 21:23:33.000000000 +0000 +++ irssi-scripts-20170711/scripts/centericq.pl 2017-07-12 03:43:43.000000000 +0000 @@ -7,6 +7,7 @@ contact => "joost\@carnique.nl", name => "centericq", description => "Staturbar item which indicates how many new messages you have in your centericq", + sbitems => "centericq", license => "Public Domain", url => "http://irssi.org, http://scripts.irssi.org", ); diff -Nru irssi-scripts-20160301/scripts/cgrep.pl irssi-scripts-20170711/scripts/cgrep.pl --- irssi-scripts-20160301/scripts/cgrep.pl 2016-02-29 21:23:34.000000000 +0000 +++ irssi-scripts-20170711/scripts/cgrep.pl 2017-07-12 03:43:44.000000000 +0000 @@ -71,6 +71,7 @@ if ($busy) { + my($start,$realname); if ($data =~ /^(.*):([^:]{1,})$/) { $start = $1; diff -Nru irssi-scripts-20160301/scripts/challenge.pl irssi-scripts-20170711/scripts/challenge.pl --- irssi-scripts-20160301/scripts/challenge.pl 2016-02-29 23:22:55.000000000 +0000 +++ irssi-scripts-20170711/scripts/challenge.pl 2017-07-12 04:07:08.000000000 +0000 @@ -31,14 +31,13 @@ # /set challenge to see them. Then you can use it in the future to oper by # typing /cr YOUROPERNICK - use strict; use Irssi; use vars qw($VERSION %IRSSI); -$VERSION = '0.0.0.0.1.alpha.0.2'; +$VERSION = '0.0.0.0.1.alpha.0.3'; %IRSSI = ( authors => 'Joerg Jaspert', contact => 'joerg@debian.org', @@ -74,9 +73,12 @@ my $key = Irssi::settings_get_str('challenge_oper_key'); my $respond = Irssi::settings_get_str('challenge_rsa_path'); + my $irssi_tty=`stty -g`; + system("stty", "icrnl"); my $pid = open(RSA, "$respond $key $challenge |") or die "Damn, couldnt run $respond"; my $response = ; close (RSA); + system("stty", "$irssi_tty"); $server->send_raw("challenge +$response"); my $window = Irssi::active_win(); $window->command("redraw"); diff -Nru irssi-scripts-20160301/scripts/chanact.pl irssi-scripts-20170711/scripts/chanact.pl --- irssi-scripts-20160301/scripts/chanact.pl 2016-02-29 23:27:56.000000000 +0000 +++ irssi-scripts-20170711/scripts/chanact.pl 2017-07-12 03:43:45.000000000 +0000 @@ -7,7 +7,7 @@ use vars qw($VERSION %IRSSI); -$VERSION = "master"; +$VERSION = "0.6.0"; %IRSSI = ( authors => 'BC-bd', contact => 'bd@bc-bd.org', @@ -17,6 +17,9 @@ url => 'http://bc-bd.org/blog/irssi/' ); +# Please send patches / pull requests to the email listed unter contact above +# and not to the irssi/scripts.irssi.org repository on github. + # Adds new powerful and customizable [Act: ...] item (chanelnames,modes,alias). # Lets you give alias characters to windows so that you can select those with # meta-. @@ -38,11 +41,13 @@ # ivo@o2w.nl win->{hilight} patch # Bazerka base patch for sorting by level change # updated documentation -# +# mrtnpaolo@gmail.com rename commands +# tslocum@gmail.com Case-insensitive aliases +# ######### # USAGE ### -# +# # copy the script to ~/.irssi/scripts/ # # In irssi: @@ -64,11 +69,11 @@ # aliases to your windows. Go to the window you want to give the alias to # and say: # -# /window_alias +# /chanact_window_alias # # You can remove the aliases with from an aliased window: # -# /window_unalias +# /chanact_window_unalias # # To see a list of your windows use: # @@ -103,19 +108,39 @@ # $H : Start highlightning # $S : Stop highlightning # * example: -# +# # /set chanact_display $H$N:$M.$S$C -# +# # will give you on #irssi.de if you have voice -# +# # [3:+.#irssi.de] # # with '3:+.' highlighted and the channel name printed in regular color # +# /set chanact_case_sensitive +# * ON : Aliases are case-sensitive +# * OFF : Aliases are case-insensitive +# +# Existing aliases must be reapplied after changing this option +# +# Switching from OFF to ON _after_ aliases have been defined, and +# then redefining or changing an existing alias will leave some +# bindings behind, e.g. +# +# /set chanact_case_sensitive OFF +# /chanact_window_alias x +# +# -> window reachable with meta-x/meta-X +# +# /set chanact_case_sensitive ON +# /chanact_window_alias y +# +# -> window reachable with meta-y/meta-X +# # /set chanact_display_alias # as 'chanact_display' but is used if the window has an alias and # 'chanact_show_alias' is set to on. -# +# # /set chanact_show_names # * ON : show the channelnames after the number/alias # * OFF : don't show the names @@ -138,7 +163,7 @@ # # /set chanact_autorenumber # * ON : Move the window automatically to first available slot -# starting from "chanact_renumber_start" when assigning +# starting from "chanact_renumber_start" when assigning # an alias to window. Also moves the window back to a # first available slot from refnum 1 when the window # loses it's alias. @@ -157,7 +182,7 @@ # beginning of the channel name. # * example : # To shorten a lot of debian channels: -# +# # /set chanact_remove_prefix deb(ian.(devel-)?)? # # /set chanact_filter @@ -171,7 +196,7 @@ # * : space-separated list of windows for which to use # chanact_filter_windowlist_level instead of # chanact_filter. -# +# # Alternatively, an entry can be postfixed with # a comma (',') and the level to use for that # window. @@ -289,7 +314,7 @@ # this is the real creation method sub remake() { my ($afternumber,$finish,$hilight,$mode,$number,$display,@windows); - my $separator = Irssi::settings_get_str('chanact_separator'); + my $separator = Irssi::settings_get_str('chanact_separator'); my $abbrev = Irssi::settings_get_int('chanact_abbreviate_names'); my $remove_prefix = Irssi::settings_get_str('chanact_remove_prefix'); my $remove_hash = Irssi::settings_get_bool('chanact_remove_hash'); @@ -332,7 +357,7 @@ && $name eq "(status)") { $name = "S"; } - + # check if we should show the mode $mode = ""; if ($type eq "CHANNEL") { @@ -344,7 +369,7 @@ my $nick = $channel->nick_find($server->{nick}); !ref($nick) && next; - + if ($nick->{op}) { $mode = "@"; } elsif ($nick->{voice}) { @@ -375,13 +400,13 @@ $name =~ s/^[&#+!=]//; } - if (Irssi::settings_get_bool('chanact_show_alias') == 1 && + if (Irssi::settings_get_bool('chanact_show_alias') == 1 && $win->{name} =~ /^([a-zA-Z+]):(.+)$/) { $number = "$1"; - $display = Irssi::settings_get_str('chanact_display_alias'); + $display = Irssi::settings_get_str('chanact_display_alias'); } else { $number = $win->{refnum}; - $display = Irssi::settings_get_str('chanact_display'); + $display = Irssi::settings_get_str('chanact_display'); } # fixup { and } in nicks, those are used by irssi themes @@ -394,7 +419,7 @@ if ($actString ne "") { # Remove the last separator $actString =~ s/$separator$//; - + $actString = "{sb ".Irssi::settings_get_str('chanact_header').$actString."}"; } @@ -427,12 +452,33 @@ chanactHasChanged(); } +# Remove key binding for current window +sub unbind { + my ($name, $server) = @_; + + # chanact'ified windows have a name like this: X:servertag/name. if we + # can't find anything like this we return and do not unbind nor renumber + # anything + my ($key, $tag) = split(/:/, $name); + return unless $tag; + + ($tag, $name) = split('/', $tag); + return unless (length($key) == 1); + + if (Irssi::settings_get_bool('chanact_case_sensitive')) { + $server->command("/bind -delete meta-$key"); + } else { + $server->command("/bind -delete meta-" . lc($key)); + $server->command("/bind -delete meta-" . uc($key)); + } +} + # Remove alias sub cmd_window_unalias { my ($data, $server, $witem) = @_; if ($data ne '') { - Irssi::print("chanact: /window_unalias does not take any ". + Irssi::print("chanact: /chanact_window_unalias does not take any ". "parameters, Run it in the window you want to unalias"); return; } @@ -440,16 +486,7 @@ my $win = Irssi::active_win(); my $name = Irssi::active_win()->{name}; - # chanact'ified windows have a name like this: X:servertag/name. if we - # can't find anything like this we return and do not unbind nor renumber - # anything - my ($key, $tag) = split(/:/, $name); - return unless $tag; - - ($tag, $name) = split('/', $tag); - return unless (length($key) == 1); - - $server->command("/bind -delete meta-$key"); + unbind($name, $server); # set the windowname back to it's old one. We don't bother checking # for a vaild name here, as we want to remove the current one and if @@ -476,7 +513,7 @@ my $rn_start = Irssi::settings_get_int('chanact_renumber_start'); unless ($data =~ /^[a-zA-Z+]$/) { - Irssi::print("Usage: /window_alias "); + Irssi::print("Usage: /chanact_window_alias "); return; } @@ -497,10 +534,10 @@ $winname = $window->{name}; } - cmd_window_unalias("", $server, $witem); + unbind($window->{name}, $server); my $winnum = $window->{refnum}; - + if (Irssi::settings_get_bool('chanact_autorenumber') == 1 && $window->{refnum} < $rn_start) { my $old_refnum = $window->{refnum}; @@ -510,30 +547,36 @@ # Find the first available slot and move the window while (Irssi::window_find_refnum($winnum)) { $winnum++; } $window->set_refnum($winnum); - + Irssi::print("Moved the window from $old_refnum to $winnum"); } - + my $winserver = $window->{active_server}->{tag}; my $winhandle = "$winserver/$winname"; # cmd_window_unalias relies on a certain format here my $name = "$data:$winhandle"; $window->set_name($name); - $server->command("/bind meta-$data change_window $name"); + if (Irssi::settings_get_bool('chanact_case_sensitive')) { + $server->command("/bind meta-$data change_window $name"); + } else { + $server->command("/bind meta-" . lc($data) . " change_window $name"); + $server->command("/bind meta-" . uc($data) . " change_window $name"); + } Irssi::print("Window $winhandle is now accessible with meta-$data"); } $needRemake = 1; # Window alias command -Irssi::command_bind('window_alias','cmd_window_alias'); -Irssi::command_bind('window_unalias','cmd_window_unalias'); +Irssi::command_bind('chanact_window_alias','cmd_window_alias'); +Irssi::command_bind('chanact_window_unalias','cmd_window_unalias'); # our config item Irssi::settings_add_str('chanact', 'chanact_display', '$H$N:$M$C$S'); Irssi::settings_add_str('chanact', 'chanact_display_alias', '$H$N$M$S'); Irssi::settings_add_int('chanact', 'chanact_abbreviate_names', 0); +Irssi::settings_add_bool('chanact', 'chanact_case_sensitive', 1); Irssi::settings_add_bool('chanact', 'chanact_show_alias', 1); Irssi::settings_add_str('chanact', 'chanact_separator', " "); Irssi::settings_add_bool('chanact', 'chanact_autorenumber', 0); @@ -570,13 +613,16 @@ # # Changelog # -# master +# 0.6.0 # - fixed URL # - now with 'use warnings' # - fix cmd_window_unalias call from cmd_window_alias # - fix Use of uninitialized value $name in hash element warnings # - return from cmd_window_unalias if the window has no valid # chanact'ified name +# - rename /window_(un)alias to /chanact_window_(un)alias +# - fix refnum renumber race +# - added setting to allow case-insensitive window aliases # # 0.5.14 # - fix itemless window handling, thx Bazerka @@ -632,10 +678,10 @@ # # 0.5.6 # - fixed a bug (#1) reported by Wouter Coekaert -# +# # 0.5.5 # - some speedups from David Leadbeater -# +# # # 0.5.4 # - added help for chanact_display_alias @@ -649,7 +695,7 @@ # - removed unused chanact_show_name settings (thx to Qerub) # - fixed $mode display # - guarded reference operations to (hopefully) fix errors on server disconnect -# +# # 0.5.1 # - small typo fixed # @@ -657,7 +703,7 @@ # - changed chanact_show_mode to chanact_display. reversed changes from # Qerub through that, but kept funcionality. # - removed chanact_color_all since it is no longer needed -# +# # 0.4.3 # - changes by Qerub # + added chanact_show_mode to show the mode just before the channel name diff -Nru irssi-scripts-20160301/scripts/colorkick.pl irssi-scripts-20170711/scripts/colorkick.pl --- irssi-scripts-20160301/scripts/colorkick.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/colorkick.pl 2017-07-12 04:07:08.000000000 +0000 @@ -13,7 +13,8 @@ use Irssi; use Irssi::Irc; -use vars %IRSSI; +use vars qw/%IRSSI $VERSION/; +$VERSION='0.1'; %IRSSI = ( authors => "Gabor Nyeki", @@ -22,7 +23,7 @@ description => "kicking users for using colors or blinks", license => "public domain", written => "Thu Dec 26 00:22:54 CET 2002", - changed => "Fri Jan 2 03:43:10 CET 2004" + changed => "2017-03-07" ); sub catch_junk @@ -31,15 +32,15 @@ my ($target, $text) = split(/ :/, $data, 2); my $valid_channel = 0; - if ($target[0] != '#' && $target[0] != '!' && $target[0] != '&') - { - return; - } + #if ($target[0] != '#' && $target[0] != '!' && $target[0] != '&') + #{ + # return; + #} for my $channel (split(/ /, Irssi::settings_get_str('colorkick_channels'))) { - if ($target == $channel) + if ($target eq $channel) { $valid_channel = 1; last; diff -Nru irssi-scripts-20160301/scripts/connectcmd.pl irssi-scripts-20170711/scripts/connectcmd.pl --- irssi-scripts-20160301/scripts/connectcmd.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/connectcmd.pl 2017-07-12 04:07:08.000000000 +0000 @@ -1,7 +1,8 @@ use strict; use Irssi 20020101.0250 (); + use vars qw($VERSION %IRSSI); -$VERSION = "0.1"; +$VERSION = "0.2"; %IRSSI = ( authors => "Ian Peters", contact => "itp\@ximian.com", @@ -9,7 +10,7 @@ description => "run arbitrary shell commands while [dis]connecting to a server", license => "Public Domain", url => "http://irssi.org/", - changed => "Sun, 10 Mar 2002 17:08:03 -0500" + changed => "2017-03-18" ); my %preconn_actions; @@ -17,39 +18,42 @@ my %disconn_actions; sub load_actions { - open ACTIONS, q{<}, "$ENV{HOME}/.irssi/connectcmd_actions"; + my $fi; + + open $fi, '<', "$ENV{HOME}/.irssi/connectcmd_actions"; - while () { + while (<$fi>) { my @lines = split "\n"; foreach my $line (@lines) { my ($server, $type, $action) = split ":", $line; if ($type eq "preconn") { - $preconn_actions{$server} = $action; + $preconn_actions{$server} = $action; } elsif ($type eq "postconn") { - $postconn_actions{$server} = $action; + $postconn_actions{$server} = $action; } elsif ($type eq "disconn") { - $disconn_actions{$server} = $action; + $disconn_actions{$server} = $action; } } } - close ACTIONS; + close $fi; } sub save_actions { - open ACTIONS, q{>}, "$ENV{HOME}/.irssi/connectcmd_actions"; + my $fa; + open $fa, q{>}, "$ENV{HOME}/.irssi/connectcmd_actions"; foreach my $server (keys %preconn_actions) { - print ACTIONS "$server:preconn:$preconn_actions{$server}\n"; + print $fa "$server:preconn:$preconn_actions{$server}\n"; } foreach my $server (keys %postconn_actions) { - print ACTIONS "$server:postconn:$postconn_actions{$server}\n"; + print $fa "$server:postconn:$postconn_actions{$server}\n"; } foreach my $server (keys %disconn_actions) { - print ACTIONS "$server:disconn:$disconn_actions{$server}\n"; + print $fa "$server:disconn:$disconn_actions{$server}\n"; } - close ACTIONS; + close $fa; } sub sig_server_looking { @@ -78,7 +82,13 @@ sub cmd_connectcmd { my ($data, $server, $witem) = @_; - my ($op, $type, $server, $action) = split " ", $data; + + #my ($op, $type, $server, $action) = split " ", $data; + $data =~ m/^(\S*)\s+(\S*)\s+(\S*)\s+(.*)$/; + my $op=$1; + my $type=$2; + my $server=$3; + my $action=$4; $op = lc $op; @@ -146,7 +156,7 @@ } } -load_actions; +load_actions(); Irssi::command_bind ('connectcmd', 'cmd_connectcmd'); diff -Nru irssi-scripts-20160301/scripts/dau.pl irssi-scripts-20170711/scripts/dau.pl --- irssi-scripts-20160301/scripts/dau.pl 2016-02-29 21:24:29.000000000 +0000 +++ irssi-scripts-20170711/scripts/dau.pl 2017-07-12 03:44:21.000000000 +0000 @@ -1417,7 +1417,7 @@ } else { - if (open(FH1, "> $file1")) { + if (open(FH1, ">", $file1)) { print FH1 &fix(<<' END'); # dau.pl - http://dau.pl/ @@ -1451,7 +1451,7 @@ } else { - if (open(FH1, "> $file2")) { + if (open(FH1, ">", $file2)) { print FH1 &fix(<<' END'); END @@ -1479,7 +1479,7 @@ } else { - if (open(FH1, "> $file3")) { + if (open(FH1, ">", $file3)) { print FH1 &fix(<<' END'); END @@ -5736,7 +5736,7 @@ ################################################################################ sub debug_message { - open(DEBUG, ">> $ENV{HOME}/.dau/.debug"); + open(DEBUG, ">>", "$ENV{HOME}/.dau/.debug"); print DEBUG $_[0]; @@ -5746,5 +5746,5 @@ #BEGIN { # use warnings; # -# open(STDERR, ">> $ENV{HOME}/.dau/.STDERR"); +# open(STDERR, ">>", $ENV{HOME}/.dau/.STDERR"); #} diff -Nru irssi-scripts-20160301/scripts/dccself.pl irssi-scripts-20170711/scripts/dccself.pl --- irssi-scripts-20160301/scripts/dccself.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/dccself.pl 2017-07-12 03:44:24.000000000 +0000 @@ -1,7 +1,8 @@ use strict; -use vars qw/%IRSSI/; +use vars qw/%IRSSI $VERSION/; use Irssi qw(command_bind active_server); +$VERSION= "0.1"; %IRSSI = ( authors => "David Leadbeater", contact => "dgl\@dgl.cx", diff -Nru irssi-scripts-20160301/scripts/df.pl irssi-scripts-20170711/scripts/df.pl --- irssi-scripts-20160301/scripts/df.pl 2016-02-29 21:24:38.000000000 +0000 +++ irssi-scripts-20170711/scripts/df.pl 2017-07-12 03:44:28.000000000 +0000 @@ -10,6 +10,7 @@ contact=> 'jochem.meyers@gmail.com', name=> 'df', description=> 'Adds an item which displays the current disk usage.', + sbitems=> 'df', license=> 'GPL v2 or later', url=> 'http://kaede.kicks-ass.net/irssi.html', ); diff -Nru irssi-scripts-20160301/scripts/go.pl irssi-scripts-20170711/scripts/go.pl --- irssi-scripts-20160301/scripts/go.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/go.pl 2017-07-12 04:07:08.000000000 +0000 @@ -7,8 +7,29 @@ # /script load go.pl # If you are in #irssi you can type /go #irssi or /go irssi or even /go ir ... # also try /go ir and /go (that's two spaces) +# +# The following settings exist: +# +# /SET go_match_case_sensitive [ON|OFF] +# Match window/item names sensitively (the default). Turning this off +# means e.g. "/go foo" would jump to a window named "Foobar", too. +# +# /SET go_match_anchored [ON|OFF] +# Match window/names only at the start of the word (the default). Turning +# this off will mean that strings can match anywhere in the window/names. +# The leading '#' of channel names is optional either way. +# +# /SET go_complete_case_sensitive [ON|OFF] +# When using tab-completion, match case-insensitively (the default). +# Turning this on means that "/go foo" will *not* suggest "Foobar". +# +# /SET go_complete_anchored [ON|OFF] +# Match window/names only at the start of the word. The default is 'off', +# which causes completion to match anywhere in the window/names during +# completion. The leading '#' of channel names is optional either way. +# -$VERSION = '1.01'; +$VERSION = '1.1'; %IRSSI = ( authors => 'nohar', @@ -16,9 +37,17 @@ name => 'go to window', description => 'Implements /go command that activates a window given a name/partial name. It features a nice completion.', license => 'GPLv2 or later', - changed => '2014-10-19' + changed => '2017-02-02' ); +sub _make_regexp { + my ($name, $ci, $aw) = @_; + my $re = "\Q${name}\E"; + $re = "(?i:$re)" unless $ci; + $re = "^#?$re" if $aw; + return $re; +} + sub signal_complete_go { my ($complist, $window, $word, $linestart, $want_space) = @_; my $channel = $window->get_active_name(); @@ -26,11 +55,14 @@ return unless ($linestart =~ /^\Q${k}\Ego\b/i); + my $re = _make_regexp($word, + Irssi::settings_get_bool('go_complete_case_sensitive'), + Irssi::settings_get_bool('go_complete_anchored')); @$complist = (); foreach my $w (Irssi::windows) { my $name = $w->get_active_name(); if ($word ne "") { - if ($name =~ /\Q${word}\E/i) { + if ($name =~ $re) { push(@$complist, $name) } } else { @@ -45,9 +77,13 @@ my($chan,$server,$witem) = @_; $chan =~ s/ *//g; + my $re = _make_regexp($chan, + Irssi::settings_get_bool('go_match_case_sensitive'), + Irssi::settings_get_bool('go_match_anchored')); + foreach my $w (Irssi::windows) { my $name = $w->get_active_name(); - if ($name =~ /^#?\Q${chan}\E/) { + if ($name =~ $re) { $w->set_active(); return; } @@ -56,4 +92,14 @@ Irssi::command_bind("go", "cmd_go"); Irssi::signal_add_first('complete word', 'signal_complete_go'); - +Irssi::settings_add_bool('go', 'go_match_case_sensitive', 1); +Irssi::settings_add_bool('go', 'go_complete_case_sensitive', 0); +Irssi::settings_add_bool('go', 'go_match_anchored', 1); +Irssi::settings_add_bool('go', 'go_complete_anchored', 0); + +# Changelog +# +# 2017-02-02 1.1 martin f. krafft +# - made case-sensitivity of match configurable +# - made anchoring of search strings configurable +# diff -Nru irssi-scripts-20160301/scripts/hddtemp.pl irssi-scripts-20170711/scripts/hddtemp.pl --- irssi-scripts-20160301/scripts/hddtemp.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/hddtemp.pl 2017-07-12 04:07:08.000000000 +0000 @@ -48,18 +48,19 @@ use strict; use Irssi; +use Irssi::TextUI; use IO::Socket::INET; use POSIX; use vars qw($VERSION %IRSSI); -$VERSION = "0.14"; +$VERSION = "0.15"; %IRSSI = ( authors => "Valentin Batz", contact => "vb\@g-23.org", name => "hddtemp", description => "adds a statusbar item which shows temperatures of harddisks (with multiple hddtemp-hosts support)", license => "GPLv2", - changed => "2004-06-21", + changed => "2017-03-16", url => "http://hurzelgnom.bei.t-online.de/irssi/scripts/hddtemp.pl", sbitems => "hddtemp" ); diff -Nru irssi-scripts-20160301/scripts/hilightwin.pl irssi-scripts-20170711/scripts/hilightwin.pl --- irssi-scripts-20160301/scripts/hilightwin.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/hilightwin.pl 2017-07-12 04:07:08.000000000 +0000 @@ -5,27 +5,51 @@ # Modded a tiny bit by znx to stop private messages entering the hilighted # window (can be toggled) and to put up a timestamp. # +# Changed a little by rummik to optionally show network name. Enable with +# `/set hilightwin_shownetwork on` +# use strict; use Irssi; use POSIX; -use vars qw($VERSION %IRSSI); +use vars qw($VERSION %IRSSI); -$VERSION = "0.04"; +$VERSION = "1.00"; %IRSSI = ( - authors => "Timo \'cras\' Sirainen, Mark \'znx\' Sangster", - contact => "tss\@iki.fi, znxster\@gmail.com", + authors => "Timo \'cras\' Sirainen, Mark \'znx\' Sangster, Kimberly \'rummik\' Zick", + contact => "tss\@iki.fi, znxster\@gmail.com, git\@zick.kim", name => "hilightwin", description => "Print hilighted messages to window named \"hilight\"", license => "Public Domain", url => "http://irssi.org/", - changed => "Sun May 25 18:59:57 BST 2008" + changed => "Thu Apr 6 15:30:25 EDT 2017" ); +sub is_ignored { + my ($dest) = @_; + + my @ignore = split(' ', Irssi::settings_get_str('hilightwin_ignore_targets')); + return 0 if (!@ignore); + + my %targets = map { $_ => 1 } @ignore; + + return 1 if exists($targets{"*"}); + return 1 if exists($targets{$dest->{target}}); + + if ($dest->{server}) { + my $tag = $dest->{server}->{tag}; + return 1 if exists($targets{$tag . "/*"}); + return 1 if exists($targets{$tag . "/" . $dest->{target}}); + } + + return 0; +} + sub sig_printtext { my ($dest, $text, $stripped) = @_; my $opt = MSGLEVEL_HILIGHT; + my $shownetwork = Irssi::settings_get_bool('hilightwin_show_network'); if(Irssi::settings_get_bool('hilightwin_showprivmsg')) { $opt = MSGLEVEL_HILIGHT|MSGLEVEL_MSGS; @@ -33,12 +57,16 @@ if( ($dest->{level} & ($opt)) && - ($dest->{level} & MSGLEVEL_NOHILIGHT) == 0 + ($dest->{level} & MSGLEVEL_NOHILIGHT) == 0 && + (!is_ignored($dest)) ) { my $window = Irssi::window_find_name('hilight'); if ($dest->{level} & MSGLEVEL_PUBLIC) { $text = $dest->{target}.": ".$text; + $text = $dest->{server}->{tag} . "/" . $text if ($shownetwork); + } elsif ($shownetwork) { + $text = $dest->{server}->{tag} . ": " . $text; } $text =~ s/%/%%/g; $window->print($text, MSGLEVEL_CLIENTCRAP) if ($window); @@ -49,6 +77,8 @@ Irssi::print("Create a window named 'hilight'") if (!$window); Irssi::settings_add_bool('hilightwin','hilightwin_showprivmsg',1); +Irssi::settings_add_str('hilightwin', 'hilightwin_ignore_targets', ''); +Irssi::settings_add_bool('hilightwin','hilightwin_show_network', 0); Irssi::signal_add('print text', 'sig_printtext'); diff -Nru irssi-scripts-20160301/scripts/il.pl irssi-scripts-20170711/scripts/il.pl --- irssi-scripts-20160301/scripts/il.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/il.pl 2017-07-12 03:45:38.000000000 +0000 @@ -33,6 +33,7 @@ contact => 'darix@irssi.org', name => 'inputlength', description => 'adds a statusbar item which show length of the inputline', + sbitems => 'inputlength', license => 'BSD License or something more liberal', url => 'http://www.irssi.de./', changed => '2003-01-13T13:17:44Z' diff -Nru irssi-scripts-20160301/scripts/iMPD.pl irssi-scripts-20170711/scripts/iMPD.pl --- irssi-scripts-20160301/scripts/iMPD.pl 2016-02-29 21:25:55.000000000 +0000 +++ irssi-scripts-20170711/scripts/iMPD.pl 2017-07-12 03:45:27.000000000 +0000 @@ -86,6 +86,7 @@ contact => 'starz@antisocial.com', name => 'iMPD', description => 'This controls Music Player Daemon from the familiar irssi interface', + sbitems => 'mpdbar', license => 'GPL v2', url => 'http://www.musicpd.org' ); diff -Nru irssi-scripts-20160301/scripts/invitejoin.pl irssi-scripts-20170711/scripts/invitejoin.pl --- irssi-scripts-20160301/scripts/invitejoin.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/invitejoin.pl 2017-07-12 03:45:41.000000000 +0000 @@ -24,7 +24,7 @@ use Irssi; use vars qw($VERSION %IRSSI); -$VERSION = "0.01"; +$VERSION = '0.02'; %IRSSI = ( authors => 'Geert Hauwaerts', @@ -32,37 +32,254 @@ name => 'invitejoin.pl', description => 'This script will join a channel if somebody invites you to it.', license => 'Public Domain', - url => 'http://irssi.hauwaerts.be/invitejoin.pl', - changed => 'Sun Apr 11 12:38:18 2004', + url => 'https://github.com/irssi/scripts.irssi.org/blob/master/scripts/invitejoin.pl', + changed => 'Di 17. Jan 19:32:45 CET 2017', ); -## Comments and remarks. -# -# This script uses settings. -# Use /SET to change the value or /TOGGLE to switch it on or off. -# -# Setting: invitejoin -# Description: If this setting is turned on, you will join the channel -# when invite to. -# -## +my $help = < ] + [delnick ] + [listnick] + [help] + +addnick: Add a new nickname on the given net as allowed autoinvite source. +delnick: Delete a nickname from the allowed list. +listnick: Display the contents of the allowed nickname list. +help: Display this useful little helptext. + +Examples: (all on one line) +/INVITEJOIN addnick Freenode ChanServ + +Note: This script doesn't allow wildcards +EOF + +my @allowed_nicks = (); +my $allowed_nicks_file = "invitejoin.nicks"; + +my $irssidir = Irssi::get_irssi_dir(); Irssi::theme_register([ + 'invitejoin_usage', '%R>>%n %_Invitejoin:%_ Insufficient parameters: Use "%_/INVITEJOIN help%_" for further instructions.', + 'invitejoin_help', '$0', 'invitejoin_loaded', '%R>>%n %_Scriptinfo:%_ Loaded $0 version $1 by $2.', - 'invitejoin_invited', '%R>>%n %_Invitejoin:%_ Joined $1 (Invited by $0).' + 'invitejoin_invited', '%R>>%n %_Invitejoin:%_ Joined $1 (Invited by $0).', + 'invitejoin_usage_add_nick', '%R>>%n %_Invitejoin:%_ Insufficient parameters: Usage "%_/INVITEJOIN addnick ircnet ChanServ%_".', + 'invitejoin_no_net', '%R>>%n %_Invitejoin:%_ Unknown Irssi ircnet %_$0%_.', + 'saved_nick', '%R>>%n %_Invitejoin:%_ Added allowed nick "%_$1%_" on %_$0%_.', + 'nick_already_present', '%R>>%n %_Invitejoin:%_ Nick already present.', + 'invitejoin_delusage', '%R>>%n %_Invitejoin:%_ Insufficient parameters: Usage "%_/INVITEJOIN delnick ircnet nick%_".', + 'invitejoin_delled', '%R>>%n %_Invitejoin:%_ Deleted %_$1%_ on %_$0%_ from allowed list.', + 'invitejoin_nfound', '%R>>%n %_Invitejoin:%_ The nick %_$1%_ on %_$0%_ could not be found.', + 'allowed_nicks_info', '%_Ircnet Nick%_', + 'allowed_nicks_empty', '%R>>%n %_Invitejoin:%_ Your allowed nick list is empty. All invites will be followed.', + 'allowed_nicks_print', '$[18]0 $1', + 'invite_denied', '%R>>%n %_Invitejoin:%_ Invite from nick %_$1%_ on %_$0%_ to %_$2%_ not followed because it is not in the allowed list.', ]); +sub load_allowed_nicks { + my ($file) = @_; + + @allowed_nicks = load_file($file, sub { + my $new_allowed = new_allowed_nick(@_); + + return undef if ($new_allowed->{net} eq '' || $new_allowed->{nick} eq ''); + return $new_allowed; + }); +} + +sub save_allowed_nicks { + my ($file) = @_; + save_file($file, \@allowed_nicks, \&allowed_nick_to_list); +} + +sub allowed_nick_to_list { + my $allowed_nick = shift; + + return ( + $allowed_nick->{net}, + $allowed_nick->{nick} + ); +} + +sub new_allowed_nick { + return { + net => shift, + nick => shift + }; +} + +# file: filename to be read +# parse_line_fn: receives array of entries of a single line as input, should +# return parsed data object or undef in the data is incomplete +# returns: parsed data array +sub load_file { + my ($file, $parse_line_fn) = @_; + my @parsed_data = (); + + if (-e $file) { + open(my $fh, "<", $file); + local $/ = "\n"; + + while (<$fh>) { + chomp; + my $data = $parse_line_fn->(split("\t")); + push(@parsed_data, $data) if $data; + } + + close($fh); + } + + return @parsed_data; +} + +# file: filename to be written, is created accessable only by the user +# data_ref: array ref of data entries +# serialize_fn: receives a data reference and should return an array or tuples +# for that data that will be serialized into one line +sub save_file { + my ($file, $data_ref, $serialize_fn) = @_; + + create_private_file($file) unless -e $file; + + open(my $fh, ">", $file) or die "Can't create $file. Reason: $!"; + + for my $data (@$data_ref) { + print($fh join("\t", $serialize_fn->($data)), "\n"); + } + + close($fh); +} + +sub create_private_file { + my ($file) = @_; + my $umask = umask 0077; # save old umask + open(my $fh, ">", $file) or die "Can't create $file. Reason: $!"; + close($fh); + umask $umask; +} + +sub add_allowed_nick { + my ($network, $nick) = split(" ", $_[0], 2); + my ($correct_net); + + if ($network eq '' || $nick eq '') { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_usage_add_nick'); + return; + } + + if ($network) { + my ($ircnet) = Irssi::chatnet_find($network); + if (!$ircnet) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_no_net', $network); + return; + } else { + $correct_net = 1; + } + } + + if ($correct_net && $nick) { + if (is_nick_in_list($network, $nick)) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nick_already_present'); + return; + } + + push(@allowed_nicks, new_allowed_nick($network, $nick)); + save_allowed_nicks("$irssidir/$allowed_nicks_file"); + + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'saved_nick', $network, $nick); + } +} + +sub del_allowed_nick { + my ($ircnet, $nick) = split(" ", $_[0], 2); + + if ($ircnet eq '' || $nick eq '') { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_delusage'); + return; + } + + my $size_before = scalar(@allowed_nicks); + @allowed_nicks = grep { ! ($_->{net} eq $ircnet && $_->{nick} eq $nick) } @allowed_nicks; + my $size_after = scalar(@allowed_nicks); + + if ($size_after != $size_before) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_delled', $ircnet, $nick); + save_allowed_nicks("$irssidir/$allowed_nicks_file"); + } else { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_nfound', $ircnet, $nick); + } + + if ($size_after == 0) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'allowed_nicks_empty'); + } +} + +sub list_allowed_nicks { + if (@allowed_nicks == 0) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'allowed_nicks_empty'); + } else { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'allowed_nicks_info'); + + for my $allowed (@allowed_nicks) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'allowed_nicks_print', $allowed->{net}, $allowed->{nick}); + } + } +} + +sub invitejoin_runsub { + my ($data, $server, $item) = @_; + $data =~ s/\s+$//g; + + if ($data) { + Irssi::command_runsub('invitejoin', $data, $server, $item); + } else { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_usage'); + } +} + +sub is_nick_in_list { + my ($net, $nick) = @_; + + return (grep { + $_->{net} eq $net && + $_->{nick} eq $nick + } @allowed_nicks) > 0; +} + +sub is_allowed_nick { + my ($net, $nick) = @_; + + # If no allowed nicks are specified (initial configuration) accept + # all invite requests. + # # (This mimics previous behavior of this script + # before there was an allowed list) + return 1 if @allowed_nicks == 0; + + return is_nick_in_list($net, $nick); +} + sub invitejoin { - my ($server, $channel, $nick, $address) = @_; my $invitejoin = Irssi::settings_get_bool('invitejoin'); if ($invitejoin) { - $server->command("join $channel"); - - Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_invited', $nick, $channel); - Irssi::signal_stop(); + if (is_allowed_nick($server->{tag}, $nick)) { + $server->command("join $channel"); + + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_invited', $nick, $channel); + Irssi::signal_stop(); + } + else { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invite_denied', $server->{tag}, $nick, $channel); + } } } @@ -70,4 +287,12 @@ Irssi::settings_add_bool('invitejoin', 'invitejoin' => 1); +load_allowed_nicks("$irssidir/$allowed_nicks_file"); + +Irssi::command_bind('invitejoin', 'invitejoin_runsub'); +Irssi::command_bind('invitejoin addnick', 'add_allowed_nick'); +Irssi::command_bind('invitejoin delnick', 'del_allowed_nick'); +Irssi::command_bind('invitejoin listnick', 'list_allowed_nicks'); +Irssi::command_bind('invitejoin help' => sub { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_help', $help) }); + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'invitejoin_loaded', $IRSSI{name}, $VERSION, $IRSSI{authors}); diff -Nru irssi-scripts-20160301/scripts/ircgmessagenotify.pl irssi-scripts-20170711/scripts/ircgmessagenotify.pl --- irssi-scripts-20160301/scripts/ircgmessagenotify.pl 2016-02-29 21:26:12.000000000 +0000 +++ irssi-scripts-20170711/scripts/ircgmessagenotify.pl 2017-07-12 03:45:45.000000000 +0000 @@ -34,6 +34,7 @@ contact => "bcow\@iki.fi", name => "ircgmessagenotify", description => "Tarkistelee irc-galleria.net:iä ja sanoo kun sinulle on uusia viestejä.", + sbitems => "ircgcomments", license => "GPLv2", url => "http://www.verkonpaino.net/", changed => "21.01.2004 23:55:00 EET" @@ -214,4 +215,4 @@ Irssi::command_bind('ircgcomments', 'check_messages_forced'); # viimeiseksi jää statusbar liitos -Irssi::statusbar_item_register('ircgcomments','{sb $0-}', 'statusbar'); \ No newline at end of file +Irssi::statusbar_item_register('ircgcomments','{sb $0-}', 'statusbar'); diff -Nru irssi-scripts-20160301/scripts/irssiBlaster.pl irssi-scripts-20170711/scripts/irssiBlaster.pl --- irssi-scripts-20160301/scripts/irssiBlaster.pl 2016-02-29 21:26:16.000000000 +0000 +++ irssi-scripts-20170711/scripts/irssiBlaster.pl 2017-07-12 03:45:49.000000000 +0000 @@ -96,6 +96,7 @@ contact => 'a.lepore@email.it', name => 'irssiBlaster', description => 'Display the song played by mp3blaster in channels and statusbar. See the top of the file for usage.', + sbitems => 'blaster', license => 'GNU GPLv2 or later', changed => 'Fri Oct 31 12:22:08 CET 2003', ); diff -Nru irssi-scripts-20160301/scripts/itime.pl irssi-scripts-20170711/scripts/itime.pl --- irssi-scripts-20160301/scripts/itime.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/itime.pl 2017-07-12 03:45:51.000000000 +0000 @@ -15,6 +15,7 @@ name => 'itime', description => 'Internet Time statusbar item. See http://www.timeanddate.com/time/internettime.html', + sbitems => 'itime', license => 'Public Domain', url => 'http://ion.amigafin.org/scripts/', changed => 'Tue Mar 12 22:20 EET 2002', diff -Nru irssi-scripts-20160301/scripts/kicks.pl irssi-scripts-20170711/scripts/kicks.pl --- irssi-scripts-20160301/scripts/kicks.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/kicks.pl 2017-07-12 03:45:59.000000000 +0000 @@ -4,76 +4,77 @@ # - http://www.penguin-breeder.org/irssi/ # +use strict; use vars qw($VERSION %IRSSI); use Irssi 20020120; -$VERSION = "0.26"; +$VERSION = "0.27"; %IRSSI = ( - authors => "c0ffee", - contact => "c0ffee\@penguin-breeder.org", - name => "Various kick and ban commands", - description => "Enhances /k /kb and /kn with some nice options.", - license => "Public Domain", - url => "http://www.penguin-breeder.org/irssi/", - changed => "Tue Nov 14 23:19:19 CET 2006", + authors => "c0ffee", + contact => "c0ffee\@penguin-breeder.org", + name => "Various kick and ban commands", + description => "Enhances /k /kb and /kn with some nice options.", + license => "Public Domain", + url => "http://www.penguin-breeder.org/irssi/", + changed => "2017-03-31", ); # my %kickreasons = ( - default => ["random kick victim", - "no", - "are you stupid?", - "i don't like you, go away!", - "oh, fsck off", - "waste other ppls time, elsewhere", - "get out and STAY OUT", - "don't come back", - "no thanks", - "on popular demand, you are now leaving the channel", - "\$N", - "*void*", - "/part is the command you're looking for", - "this is the irssi of borg. your mIRC will be assimilated. resistance is futile.", - "Autokick! mwahahahah!" - ], - none => [""], - topic => ["\$topic"], + default => ["random kick victim", + "no", + "are you stupid?", + "i don't like you, go away!", + "oh, fsck off", + "waste other ppls time, elsewhere", + "get out and STAY OUT", + "don't come back", + "no thanks", + "on popular demand, you are now leaving the channel", + "\$N", + "*void*", + "/part is the command you're looking for", + "this is the irssi of borg. your mIRC will be assimilated. resistance is futile.", + "Autokick! mwahahahah!" + ], + none => [""], + topic => ["\$topic"], ); # fine tune the script for different chatnets -# cmdline_k regular expr that matches a correct cmdline for /k -# req_chan 0/1 whether the channel is always part of the cmdline -# num_nicks number of nicks ... (-1 = inf) -# start_with_dash 0/1 whether the normal cmdline may start with a dash -# match_chn matches channels -# match_n match nicks -# match_reason matches reasons -# default_reason reason to give as "no reason" +# cmdline_k regular expr that matches a correct cmdline for /k +# req_chan 0/1 whether the channel is always part of the cmdline +# num_nicks number of nicks ... (-1 = inf) +# start_with_dash 0/1 whether the normal cmdline may start with a dash +# match_chn matches channels +# match_n match nicks +# match_reason matches reasons +# default_reason reason to give as "no reason" my %cfg = ( - IRC => { - cmdline_k => '\s*([!#+&][^\x0\a\n\r ]*)\s+[-\[\]\\\\\`{}\w_|^\'~]+(,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+\S.*', - req_chan => 0, - num_nicks => 3, # actually, /k takes more, but - # normal irc servers only take - # three in a row - start_with_dash => 1, - match_chn => '([!#+&][^\x0\a\n\r ]*)\s', - match_n => '(?:^|\s+)([-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\']+)*)', - match_reason => '^\s*[!#+&][^\x0\a\n\r ]*\s+[-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+(\S.*)$', - default_reason => '$N' - }, - - SILC => { - cmdline_k => '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+\s+\S.*', - req_chan => 1, - num_nicks => 1, - start_with_dash => 0, - match_chn => '\s*([^\x0-\x20\*\?,@!]+)\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*', - match_n => '\s*(?:[^\x0-\x20\*\?,@!]+\s+)?([^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*)', - match_reason => '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*\s+(\S.*)', - default_reason => '$N' - } + IRC => { + cmdline_k => '\s*([!#+&][^\x0\a\n\r ]*)\s+[-\[\]\\\\\`{}\w_|^\'~]+(,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+\S.*', + req_chan => 0, + num_nicks => 3, # actually, /k takes more, but + # normal irc servers only take + # three in a row + start_with_dash => 1, + match_chn => '([!#+&][^\x0\a\n\r ]*)\s', + match_n => '(?:^|\s+)([-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\']+)*)', + match_reason => '^\s*[!#+&][^\x0\a\n\r ]*\s+[-\[\]\\\\\`{}\w_|^\'~]+(?:,[-\[\]\\\\\`{}\w_|^\'~]+)*\s+(\S.*)$', + default_reason => '$N' + }, + + SILC => { + cmdline_k => '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+\s+\S.*', + req_chan => 1, + num_nicks => 1, + start_with_dash => 0, + match_chn => '\s*([^\x0-\x20\*\?,@!]+)\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*', + match_n => '\s*(?:[^\x0-\x20\*\?,@!]+\s+)?([^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*)', + match_reason => '\s*[^\x0-\x20\*\?,@!]+\s+[^\x0-\x20\*\?,@!]+(?:,[^\x0-\x20\*\?,@!]+)*\s+(\S.*)', + default_reason => '$N' + } ); sub initialize { @@ -83,51 +84,53 @@ my ($basedir) = $conf_file =~ /^(.*\/).*?/; if (-f $conf_file) { - open CONF, $conf_file; - - while () { - $line++; - - next if /^\s*#/; - - chomp; - ($key, $reasons) = /^(\S+)\s+(.+)\s*$/ or next; - - if ($reasons =~ /\`([^\s]+).*?\`/) { - $kickreasons{$key} = "$reasons"; - Irssi::print("Added executable $1 as $key..."); - next; - } - - $reasons =~ s/^"(.*)"$/$1/; - $reasons =~ s/~/$ENV{HOME}/; - $reasons =~ s/^([^\/])/$basedir$1/; - - if (-f $reasons) { - - $kickreasons{$key} = []; - - open REASON, $reasons; - - while () { - chomp; - push @{$kickreasons{$key}}, $_; - } - - close REASON; - Irssi::print("Loaded $reasons as $key..."); - } else { - Irssi::print("can't parse config line $line..."); - } - } - close CONF; + open CONF, '<', $conf_file; + + my $line=0; + + while () { + $line++; + + next if /^\s*#/; + + chomp; + my ($key, $reasons) = /^(\S+)\s+(.+)\s*$/ or next; + + if ($reasons =~ /\`([^\s]+).*?\`/) { + $kickreasons{$key} = "$reasons"; + Irssi::print("Added executable $1 as $key..."); + next; + } + + $reasons =~ s/^"(.*)"$/$1/; + $reasons =~ s/~/$ENV{HOME}/; + $reasons =~ s/^([^\/])/$basedir$1/; + + if (-f $reasons) { + + $kickreasons{$key} = []; + + open REASON, '<', $reasons; + + while () { + chomp; + push @{$kickreasons{$key}}, $_; + } + + close REASON; + Irssi::print("Loaded $reasons as $key..."); + } else { + Irssi::print("can't parse config line $line..."); + } + } + close CONF; } else { Irssi::print("Could not find configuration file for kicks..."); - Irssi::print("... use /set kicks_configuration "); + Irssi::print("... use /set kicks_configuration "); } } - + sub get_a_reason { my ($topic) = @_; @@ -147,15 +150,17 @@ return if not $server or not defined $cfg{$server->{chat_type}} - or not $channel - or $data =~ /^$cfg{$server->{chat_type}}{cmdline_k}$/; + or not $channel + or $data =~ /^$cfg{$server->{chat_type}}{cmdline_k}$/; Irssi::signal_stop(); # let's see whether some options where supplied - $default = Irssi::settings_get_str("default_kick_options"); + my $default = Irssi::settings_get_str("default_kick_options"); $data = "$default $data" if not $default =~ /^\s*$/; - @opts = split /\s+/, $data; + my @opts = split /\s+/, $data; + my $opt; + my $fail=0; while (($opt) = (shift @opts) =~ /^\s*-(\S+)/) { @@ -163,18 +168,18 @@ $data =~ s/^\s*-$opt\s+//, $reasons = lc $opt, - next if defined $kickreasons{lc $opt}; + next if defined $kickreasons{lc $opt}; last if $cfg{$server->{chat_type}}{start_with_dash}; Irssi::print("Unknown option -$opt"); - $fail = true; + $fail = 1; } return if $fail; - $chn = ""; + my $chn = ""; ($chn) = $data =~ /^$cfg{$server->{chat_type}}{match_chn}/; if ($cfg{$server->{chat_type}}{req_chan} && ($chn eq "")) { @@ -184,37 +189,39 @@ # do we need to add a channel? if ($chn eq "") { - Irssi::print("Not joined to any channel"), return - if $channel->{type} ne "CHANNEL"; + Irssi::print("Not joined to any channel"), return + if $channel->{type} ne "CHANNEL"; $chn = $channel->{name}; - $data = "$chn $data"; + $data = "$chn $data"; } # is a reason already supplied? + my $reason; $reason = get_a_reason($reasons) if not (($reason) = $data =~ /$cfg{$server->{chat_type}}{match_reason}/); $reason = $cfg{$server->{chat_type}}{default_reason} if $reason =~ /^\s*$/; - @nicks = split /,/, ($data =~ /$cfg{$server->{chat_type}}{match_n}/)[0]; - $num_nicks = $cfg{$server->{chat_type}}{num_nicks}; + my @nicks = split /,/, ($data =~ /$cfg{$server->{chat_type}}{match_n}/)[0]; + my $num_nicks = $cfg{$server->{chat_type}}{num_nicks}; $num_nicks = @nicks if $num_nicks <= 0; + my @commands; undef @commands; while (@nicks) { - $tmp = ($chn ne "" ? "$chn " : "") . + my $tmp = ($chn ne "" ? "$chn " : "") . join ",", (splice @nicks,0,$num_nicks); - $tmp =~ s/([;\\\$])/\\$1/g; - push @commands, "$tmp $reason"; + $tmp =~ s/([;\\\$])/\\$1/g; + push @commands, "$tmp $reason"; } foreach (@commands) { if ($_ =~ /^$cfg{$server->{chat_type}}{cmdline_k}$/) { s/\s+$//; - $channel->command("EVAL $cmd $_") + $channel->command("EVAL $cmd $_"); } else { Irssi::print("BUG: generated invalid $cmd command: $_"); } @@ -237,7 +244,7 @@ Irssi::settings_add_str("misc", "default_kick_options", ""); Irssi::settings_add_str("misc", "kicks_configuration", - Irssi::get_irssi_dir() . "/kicks.conf"); + Irssi::get_irssi_dir() . "/kicks.conf"); Irssi::command_bind("kick", "cmd_kick"); Irssi::command_bind("kickban", "cmd_kickban"); diff -Nru irssi-scripts-20160301/scripts/licq.pl irssi-scripts-20170711/scripts/licq.pl --- irssi-scripts-20160301/scripts/licq.pl 2016-02-29 21:26:51.000000000 +0000 +++ irssi-scripts-20170711/scripts/licq.pl 2017-07-12 03:46:08.000000000 +0000 @@ -6,6 +6,7 @@ contact => "jmn98015\@student.mdh.se", name => "licq", description => "Licq statusbar thingy", + sbitems => "licq", license => "Public Domain", url => "http://jari.cjb.net,http://irssi.org,http://scripts.irssi.de", ); diff -Nru irssi-scripts-20160301/scripts/loadavg.pl irssi-scripts-20170711/scripts/loadavg.pl --- irssi-scripts-20160301/scripts/loadavg.pl 2016-02-29 21:26:55.000000000 +0000 +++ irssi-scripts-20170711/scripts/loadavg.pl 2017-07-12 03:46:12.000000000 +0000 @@ -15,6 +15,7 @@ contact => 'aki@evilbsd.info', name => 'loadavg', description => 'display a loadavg statusbar item using vm.loadavg mib or /proc/loadavg', + sbitems => 'loadavg', license => 'public domain', ); diff -Nru irssi-scripts-20160301/scripts/localize.pl irssi-scripts-20170711/scripts/localize.pl --- irssi-scripts-20160301/scripts/localize.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/localize.pl 2017-07-12 04:07:08.000000000 +0000 @@ -60,7 +60,7 @@ use strict; use vars qw($VERSION %IRSSI); -$VERSION = "2014112501"; +$VERSION = "2017040101"; %IRSSI = ( authors => "Stefan 'tommie' Tomanek", contact => "stefan\@pico.ruhr.de", @@ -511,7 +511,7 @@ my $filename = Irssi::settings_get_str('localize_cache_filename'); my $data = Dumper(\%cache); local *F; - open(F, '>'.$filename); + open(F, '>',$filename); print(F $data); close(F); print CLIENTCRAP "%R>>%n localize cache (".scalar(keys(%cache))." entries/".length($data)." bytes) saved to ".$filename; @@ -522,7 +522,7 @@ my $filename = Irssi::settings_get_str('localize_cache_filename'); my (%new_cache, $text); local *F; - open F, "<".$filename || return; + open F, "<",$filename || return; $text .= $_ foreach (); close(F); eval { %new_cache = %{ eval "$text" }; }; @@ -561,7 +561,7 @@ my $cmd = Irssi::settings_get_str('localize_xplanet_cmd'); my $file = Irssi::settings_get_str('localize_xplanet_temp_file'); local *F; - open F, '>'.$file; + open F, '>',$file; print F $lat.' '.$long.' "'.$nick.'"'; close F; system("$cmd -markerf $file &"); diff -Nru irssi-scripts-20160301/scripts/mailcheck_imap.pl irssi-scripts-20170711/scripts/mailcheck_imap.pl --- irssi-scripts-20160301/scripts/mailcheck_imap.pl 2016-02-29 21:27:02.000000000 +0000 +++ irssi-scripts-20170711/scripts/mailcheck_imap.pl 2017-07-12 03:46:20.000000000 +0000 @@ -11,6 +11,7 @@ contact => "irssi\@icmfp.com", name => "mailcheck_imap", description => "Staturbar item which indicates how many new emails you have in the specified IMAP[S] mailbox", + sbitems => "mailcheck_imap", license => "GNU GPLv2", url => "http://icmfp.com/irssi", ); diff -Nru irssi-scripts-20160301/scripts/mangle.pl irssi-scripts-20170711/scripts/mangle.pl --- irssi-scripts-20160301/scripts/mangle.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/mangle.pl 2017-07-12 04:07:08.000000000 +0000 @@ -7,18 +7,21 @@ use strict; use locale; use Irssi 20020324; +use Irssi::TextUI; use POSIX; use Data::Dumper; use vars qw($VERSION %IRSSI %HELP %channels %translations); -$VERSION = '2004031701'; +$VERSION = '2017031701'; %IRSSI = ( authors => 'Szymon Sokol', contact => 'szymon@hell.pl', name => 'mangle', description => 'translates your messages into Morse code, rot13 and other sillinesses.', + sbitems => 'mangle_sb', license => 'GPLv2', - url => 'http://irssi.org/scripts/', changed => $VERSION, + url => 'http://irssi.org/scripts/', + changed => $VERSION, modules => 'Data::Dumper' ); @@ -192,23 +195,25 @@ sub save_channels { my $filename = Irssi::settings_get_str('mangle_filename'); - local *F; - open F, '>'.$filename; + my $fo; + open $fo, '>',$filename; my $data = Dumper(\%channels); - print F $data; - close F; + print $fo $data; + close $fo; print CLIENTCRAP "%R>>%n Mangle channels saved"; } sub load_channels { my $filename = Irssi::settings_get_str('mangle_filename'); return unless (-e $filename); - local *F; - open F, '<'.$filename; + my $fi; + open $fi, '<',$filename; my $text; - $text .= $_ foreach ; - no strict "vars"; - %channels = %{ eval "$text" }; + $text .= $_ foreach <$fi>; + #no strict "vars"; + my $VAR1; + eval "$text"; + %channels = %$VAR1; } sub mangle_show ($$) { diff -Nru irssi-scripts-20160301/scripts/mass_hilight_blocker.pl irssi-scripts-20170711/scripts/mass_hilight_blocker.pl --- irssi-scripts-20160301/scripts/mass_hilight_blocker.pl 2016-02-29 21:27:09.000000000 +0000 +++ irssi-scripts-20170711/scripts/mass_hilight_blocker.pl 2017-07-12 03:42:19.000000000 +0000 @@ -18,14 +18,14 @@ use strict; use Irssi; use vars qw($VERSION %IRSSI); -$VERSION = "0.2"; +$VERSION = "0.3"; %IRSSI = ( authors => "Uli Baumann", contact => "f-zappa\@irc-muenster.de", name => "mass_hilight_blocker", description => "Disables hilighting for messages containing a lot of nicknames", license => "GPL", - changed => "Tue Jun 1 13:32:20 CEST 2004", + changed => "Wed Apr 27 02:30:00 CEST 2016", ); @@ -43,8 +43,7 @@ foreach my $nick ($channel->nicks()) # walk through nicks { $nick = $nick->{nick}; - $nick =~ s/([\]\[])/\\$1/g; # ']' and '[' need masking - if ($text =~ /$nick/) # does line contain this nick? + if ($text =~ /\Q$nick/) # does line contain this nick? {$num_nicks++;} # then increase counter } diff -Nru irssi-scripts-20160301/scripts/modelist-r.pl irssi-scripts-20170711/scripts/modelist-r.pl --- irssi-scripts-20160301/scripts/modelist-r.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/modelist-r.pl 2017-07-12 03:46:32.000000000 +0000 @@ -57,6 +57,7 @@ 'name' => 'modelist-r', 'description' => 'Cache of invites, ban exceptions and reops in channel. Script commands: '. '/si, /se, /sr, /unexcept, /uninvite, /unreop (version only for ircd >= 2.11.0).', + 'sbitems' => 'modelist', 'license' => 'GNU GPL v2', 'modules' => '', 'url' => 'http://derwan.irssi.pl', diff -Nru irssi-scripts-20160301/scripts/my_beep.pl irssi-scripts-20170711/scripts/my_beep.pl --- irssi-scripts-20160301/scripts/my_beep.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/my_beep.pl 2017-07-12 04:07:08.000000000 +0000 @@ -5,7 +5,7 @@ # inspired by Georg Lukas # howtoinstall: -# copy this file to ~/.irssi/script/ +# copy this file to ~/.irssi/scripts/ # in irssi: # $/script load my_beep.pl # change the settings diff -Nru irssi-scripts-20160301/scripts/nact.pl irssi-scripts-20170711/scripts/nact.pl --- irssi-scripts-20160301/scripts/nact.pl 2016-02-29 21:27:33.000000000 +0000 +++ irssi-scripts-20170711/scripts/nact.pl 2017-07-12 03:46:49.000000000 +0000 @@ -10,6 +10,7 @@ contact=> 'bd@bc-bd.org', name=> 'nact', description=> 'Adds an item which displays the current network activity. Needs /proc/net/dev.', + sbitems=> 'nact', license=> 'GPL v2 or later', url=> 'https://bc-bd.org/svn/repos/irssi/trunk/', ); diff -Nru irssi-scripts-20160301/scripts/newsline.pl irssi-scripts-20170711/scripts/newsline.pl --- irssi-scripts-20160301/scripts/newsline.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/newsline.pl 2017-07-12 03:46:58.000000000 +0000 @@ -3,7 +3,7 @@ use strict; use vars qw($VERSION %IRSSI); -$VERSION = '2003021101'; +$VERSION = '2017040101'; %IRSSI = ( authors => 'Stefan \'tommie\' Tomanek', contact => 'stefan@pico.ruhr.de', @@ -287,10 +287,10 @@ my ($url) = @_; no strict "refs"; # check for a loaded openurl - if (defined %{ "Irssi::Script::openurl::" }) { - &{ "Irssi::Script::openurl::launch_url" }($url); + if (my $code = Irssi::Script::openurl::->can('launch_url')) { + $code->($url); } else { - print CLIENTCRAP "%R>>%n Please install openurl.pl"; + print CLIENTCRAP "%R>>%n Please install openurl.pl"; } use strict "refs"; } @@ -377,7 +377,7 @@ my $text; if (-e $filename) { local *F; - open F, "<".$filename; + open F, "<",$filename; $text .= $_ foreach (); close F; if ($text) { @@ -402,7 +402,7 @@ sub save_config() { local *F; my $filename = Irssi::settings_get_str('newsline_sites_file'); - open(F, ">$filename"); + open(F, '>',$filename); my $dumper = Data::Dumper->new([\%sites], ['sites']); $dumper->Purity(1)->Deepcopy(1); my $data = $dumper->Dump; diff -Nru irssi-scripts-20160301/scripts/nicklist.pl irssi-scripts-20170711/scripts/nicklist.pl --- irssi-scripts-20160301/scripts/nicklist.pl 2016-02-29 21:27:41.000000000 +0000 +++ irssi-scripts-20170711/scripts/nicklist.pl 2017-07-12 03:47:04.000000000 +0000 @@ -5,7 +5,7 @@ use IO::Handle; # for (auto)flush use Fcntl; # for sysopen use vars qw($VERSION %IRSSI); -$VERSION = '0.4.6'; +$VERSION = '0.4.8'; %IRSSI = ( authors => 'Wouter Coekaerts', contact => 'coekie@irssi.org', @@ -13,7 +13,7 @@ description => 'draws a nicklist to another terminal, or at the right of your irssi in the same terminal', license => 'GPLv2', url => 'http://wouter.coekaerts.be/irssi', - changed => '29/06/2004' + changed => '28/06/2017' ); sub cmd_help { @@ -23,7 +23,9 @@ NICKLIST SCROLL NICKLIST SCREEN NICKLIST FIFO +NICKLIST ON NICKLIST OFF +NICKLIST TOGGLE NICKLIST UPDATE For help see: http://wouter.coekaerts.be/site/irssi/nicklist @@ -94,6 +96,16 @@ ##### OUTPUT ##### ################## +### on ### + +sub cmd_on { + if (uc(Irssi::settings_get_str('nicklist_automode')) eq 'SCREEN') { + cmd_screen_start(); + } elsif (uc(Irssi::settings_get_str('nicklist_automode')) eq 'FIFO') { + cmd_fifo_start(); + } +} + ### off ### sub cmd_off { @@ -104,6 +116,16 @@ } } +### toggle ### + +sub cmd_toggle { + if ($mode == $OFF) { + cmd_on(); + } else { + cmd_off(); + } +} + ### fifo ### sub cmd_fifo_start { @@ -193,7 +215,7 @@ unless (defined &TIOCGWINSZ) { die "Term::ReadKey not found, and ioctl 'workaround' failed. Install the Term::ReadKey perl module to use screen mode.\n"; } - open(TTY, "+{active}->nicks; - my $nick_count = scalar(@nicks)+0; my $channel = Irssi::active_win->{active}; - if (!$channel || $channel->{type} ne 'CHANNEL' || !$channel->{names_got} || $nick_count <= Irssi::settings_get_int('nicklist_height')) { + if (!$channel || $channel->{type} ne 'CHANNEL' || !$channel->{names_got}) { + return; + } + my @nicks = $channel->{nicks}; + my $nick_count = scalar(@nicks)+0; + if ($nick_count <= Irssi::settings_get_int('nicklist_height')) { return; } $scroll_pos += @_[0]; @@ -574,7 +599,9 @@ Irssi::command_bind('nicklist fifo',\&cmd_fifo_start); Irssi::command_bind('nicklist screen',\&cmd_screen_start); Irssi::command_bind('nicklist screensize',\&screen_size); +Irssi::command_bind('nicklist on',\&cmd_on); Irssi::command_bind('nicklist off',\&cmd_off); +Irssi::command_bind('nicklist toggle',\&cmd_toggle); ##### signals ##### Irssi::signal_add_last('window item changed', \&make_nicklist); @@ -604,8 +631,4 @@ Irssi::settings_add_str('nicklist', 'nicklist_automode', ''); read_settings(); -if (uc(Irssi::settings_get_str('nicklist_automode')) eq 'SCREEN') { - cmd_screen_start(); -} elsif (uc(Irssi::settings_get_str('nicklist_automode')) eq 'FIFO') { - cmd_fifo_start(); -} +cmd_on(); diff -Nru irssi-scripts-20160301/scripts/nickserv.pl irssi-scripts-20170711/scripts/nickserv.pl --- irssi-scripts-20160301/scripts/nickserv.pl 2016-02-29 21:27:45.000000000 +0000 +++ irssi-scripts-20170711/scripts/nickserv.pl 2017-07-12 03:47:08.000000000 +0000 @@ -24,7 +24,7 @@ use Irssi; use vars qw($VERSION %IRSSI); -$VERSION = "1.9"; +$VERSION = "1.11"; %IRSSI = ( authors => 'Geert Hauwaerts', @@ -32,38 +32,47 @@ name => 'nickserv.pl', description => 'This script will authorize you into NickServ.', license => 'GNU General Public License', - url => 'http://irssi.hauwaerts.be/nickserv.pl', - changed => 'Tue Jul 1 12:41:23 PDT 2014', + url => 'https://github.com/irssi/scripts.irssi.org/blob/master/scripts/nickserv.pl', + changed => 'Di 17. Jan 19:32:45 CET 2017', ); +my $irssidir = Irssi::get_irssi_dir(); + my @nickservnet = (); -my $nickservnet_file = "nickserv.networks"; +my $nickservnet_file = "$irssidir/nickserv.networks"; my @nickservauth = (); -my $nickservauth_file = "nickserv.auth"; +my $nickservauth_file = "$irssidir/nickserv.auth"; -my $irssidir = Irssi::get_irssi_dir(); +my @nickservpostcmd = (); +my $nickservpostcmd_file = "$irssidir/nickserv.postcmd"; my $help = < ] [addnick ] + [addpostcmd ] [delnet ] [delnick ] - [help listnet listnick] + [delpostcmd ] + [help listnet listnick listpostcmd] -addnet: Add a new network into the NickServ list. -addnick: Add a new nickname into the NickServ list. -delnet: Delete a network from the NickServ list. -delnick: Delete a nickname from the NickServ list. -listnet: Display the contents of the NickServ network list. -listnick: Display the contents of the NickServ nickname list. -help: Display this useful little helptext. +addnet: Add a new network into the NickServ list. +addnick: Add a new nickname into the NickServ list. +addpostcmd: Add a new post auth command for nickname into the NickServ list. +delnet: Delete a network from the NickServ list. +delnick: Delete a nickname from the NickServ list. +delpostcmd: Deletes all post auth commands for the given nickame. +listnet: Display the contents of the NickServ network list. +listnick: Display the contents of the NickServ nickname list. +listpostcmd: Display the contents of the NickServ postcmd list. +help: Display this useful little helptext. Examples: (all on one line) /NICKSERV addnet Freenode NickServ\@services. /NICKSERV addnick Freenode Geert mypass +/NICKSERV addpostcmd Freenode Geert ^MSG ChanServ invite #heaven /NICKSERV delnet Freenode /NICKSERV delnick Freenode Geert @@ -75,19 +84,25 @@ Irssi::theme_register([ 'nickserv_usage_network', '%R>>%n %_NickServ:%_ Insufficient parameters: Usage "%_/NICKSERV addnet ircnet services@host%_".', 'nickserv_usage_nickname', '%R>>%n %_NickServ:%_ Insufficient parameters: Usage "%_/NICKSERV addnick ircnet nickname password%_".', + 'nickserv_usage_postcmd', '%R>>%n %_NickServ:%_ Insufficient parameters: Usage "%_/NICKSERV addpostcmd ircnet nickname command%_".', 'nickserv_delusage', '%R>>%n %_NickServ:%_ Insufficient parameters: Usage "%_/NICKSERV delnet ircnet%_".', 'nickserv_delnickusage', '%R>>%n %_NickServ:%_ Insufficient parameters: Usage "%_/NICKSERV delnick ircnet nickname%_".', - 'nickserv_delled', '%R>>%n %_NickServ:%_ Deleted %_$0%_ and his nicknames from the NickServ ircnet list.', - 'nickserv_delled_nick', '%R>>%n %_NickServ:%_ Deleted %_$1%_ from the NickServ list on $0.', + 'nickserv_delpostcmdusage', '%R>>%n %_NickServ:%_ Insufficient parameters: Usage "%_/NICKSERV delpostcmd ircnet nickname%_".', + 'nickserv_delled', '%R>>%n %_NickServ:%_ Deleted %_$0%_ and it\'s nicknames and post commands from the NickServ ircnet list.', + 'nickserv_delled_nick', '%R>>%n %_NickServ:%_ Deleted %_$1%_ and it\'s post commands from the NickServ list on $0.', + 'nickserv_delled_postcmd', '%R>>%n %_NickServ:%_ Deleted all entries for %_$1%_ from the NickServ postcmd list on $0.', 'nickserv_nfound', '%R>>%n %_NickServ:%_ The NickServ ircnet %_$0%_ could not be found.', 'nickserv_nfound_nick', '%R>>%n %_NickServ:%_ The NickServ nickname %_$0%_ could not be found on $1.', + 'nickserv_nfound_postcmd', '%R>>%n %_NickServ:%_ The NickServ post commands for nickname %_$1%_ could not be found on $0.', 'nickserv_usage', '%R>>%n %_NickServ:%_ Insufficient parameters: Use "%_/NICKSERV help%_" for further instructions.', 'nickserv_no_net', '%R>>%n %_NickServ:%_ Unknown Irssi ircnet %_$0%_.', 'nickserv_wrong_host', '%R>>%n %_NickServ:%_ Malformed services hostname %_$0%_.', 'already_loaded_network', '%R>>%n %_NickServ:%_ The ircnet %_$0%_ already exists in the NickServ ircnet list, please remove it first.', 'nickserv_loaded_nick', '%R>>%n %_NickServ:%_ The nickname %_$0%_ already exists in the NickServ authlist on %_$1%_, please remove it first.', 'nickserv_not_loaded_net', '%R>>%n %_NickServ:%_ The ircnet %_$0%_ doesn\'t exists in the NickServ ircnet list, please add it first.', + 'nickserv_not_loaded_nick', '%R>>%n %_NickServ:%_ The nickname %_$0%_ doesn\'t exists in the NickServ authlist on %_$1%_, please add it first.', 'saved_nickname', '%R>>%n %_NickServ:%_ Added nickname %_$1%_ on %_$0%_.', + 'saved_postcmd', '%R>>%n %_NickServ:%_ Added postcmd %_$1%_ on %_$0%_: %_%2%_.', 'network_print', '$[!-2]0 $[20]1 $2', 'password_request', '%R>>%n %_NickServ:%_ Auth Request from NickServ on %_$0%_.', 'password_accepted', '%R>>%n %_NickServ:%_ Password accepted on %_$0%_.', @@ -97,6 +112,9 @@ 'nickname_print', '$[!-2]0 $[20]1 $[18]2 $3', 'nickname_info', '%_ # Ircnet Nickname Password%_', 'nickname_empty', '%R>>%n %_NickServ:%_ Your NickServ authlist is empty.', + 'postcmd_print', '$[!-2]0 $[20]1 $[18]2 $3', + 'postcmd_info', '%_ # Ircnet Nickname Postcmd%_', + 'postcmd_empty', '%R>>%n %_NickServ:%_ Your NickServ postcmd list is empty.', 'nickserv_help', '$0', 'saved_network', '%R>>%n %_NickServ:%_ Added services mask "%_$1%_" on %_$0%_.', 'nickserv_loaded', '%R>>%n %_Scriptinfo:%_ Loaded $0 version $1 by $2.' @@ -106,139 +124,171 @@ my ($file) = @_; - @nickservnet = (); - - if (-e $file) { - local *F; - open(F, "<", $file); - local $/ = "\n"; - - while () { - chop; - my $new_nsnet = new_nickserv_network(split("\t")); - - if (($new_nsnet->{name} ne "") && ($new_nsnet->{host} ne "")) { - push(@nickservnet, $new_nsnet); - } - } - - close(F); - } + @nickservnet = load_file($file, sub { + my $new_nsnet = new_nickserv_network(@_); + return undef if ($new_nsnet->{name} eq "" || $new_nsnet->{host} eq ""); + return $new_nsnet; + }); } sub save_nickservnet { - my ($file) = @_; + save_file($nickservnet_file, \@nickservnet, \&nickservnet_as_list); +} + +sub new_nickserv_network { - return unless scalar @nickservnet; # there's nothing to save + return { + name => shift, + host => shift + }; +} - if (-e $file) { - local *F; - open(F, ">", $file); +sub nickservnet_as_list { - for (my $n = 0; $n < @nickservnet; ++$n) { - print(F join("\t", $nickservnet[$n]->{name}, $nickservnet[$n]->{host}) . "\n"); - } - - close(F); - } else { - create_network_file($file); - save_nickservnet($file); - } + my $nickserv_net = shift; + + return ( + $nickserv_net->{name}, + $nickserv_net->{host} + ); } -sub create_network_file { - +sub load_nickservnick { + my ($file) = @_; - - open(F, ">", $file) or die "Can't create $file. Reason: $!"; + + @nickservauth = load_file($file, sub { + my $new_nsnick = new_nickserv_nick(@_); + + return undef if ($new_nsnick->{ircnet} eq "" || $new_nsnick->{nick} eq "" || $new_nsnick->{pass} eq ""); + return $new_nsnick; + }); } -sub new_nickserv_network { +sub save_nickservnick { - my $nsnet = {}; + save_file($nickservauth_file, \@nickservauth, \&nickserv_nick_as_list); +} - $nsnet->{name} = shift; - $nsnet->{host} = shift; +sub new_nickserv_nick { - return $nsnet; + return { + ircnet => shift, + nick => shift, + pass => shift + }; } -sub load_nickservnick { +sub nickserv_nick_as_list { + + my $nickserv_nick = shift; + return ( + $nickserv_nick->{ircnet}, + $nickserv_nick->{nick}, + $nickserv_nick->{pass} + ); +} + +sub load_nickservpostcmd { my ($file) = @_; - @nickservauth = (); + @nickservpostcmd = load_file($file, sub { + my $new_postcmd = new_postcmd(@_); - if (-e $file) { - local *F; - open(F, "<" ,$file); - local $/ = "\n"; - - while () { - chop; - my $new_nsnick = new_nickserv_nick(split("\t")); - - if (($new_nsnick->{ircnet} ne "") && ($new_nsnick->{nick} ne "") && ($new_nsnick->{pass} ne "")) { - push(@nickservauth, $new_nsnick); - } - } - - close(F); - } + return undef if ($new_postcmd->{ircnet} eq "" || $new_postcmd->{nick} eq "" || $new_postcmd->{postcmd} eq ""); + return $new_postcmd; + }); } -sub save_nickservnick { +sub save_nickservpostcmd { - my ($file) = @_; + save_file($nickservpostcmd_file, \@nickservpostcmd, \&postcmd_as_list); +} + +sub new_postcmd { - return unless scalar @nickservauth; # there's nothing to save + return { + ircnet => shift, + nick => shift, + postcmd => shift + }; +} - if (-e $file) { - local *F; - open(F, ">", $file); +sub postcmd_as_list { + my $postcmd = shift; - for (my $n = 0; $n < @nickservauth; ++$n) { - print(F join("\t", $nickservauth[$n]->{ircnet}, $nickservauth[$n]->{nick}, $nickservauth[$n]->{pass}) . "\n"); - } - - close(F); - } else { - create_nick_file($file); - save_nickservnick($file); - } + return ( + $postcmd->{ircnet}, + $postcmd->{nick}, + $postcmd->{postcmd} + ); } -sub create_nick_file { - - my ($file) = @_; - - my $umask = umask 0077; # save old umask - open(F, ">", $file) or die "Can't create $file. Reason: $!"; - umask $umask; +# file: filename to be read +# parse_line_fn: receives array of entries of a single line as input, should +# return parsed data object or undef in the data is incomplete +# returns: parsed data array +sub load_file { + + my ($file, $parse_line_fn) = @_; + my @parsed_data = (); + + if (-e $file) { + open(my $fh, "<", $file); + local $/ = "\n"; + + while (<$fh>) { + chomp; + my $data = $parse_line_fn->(split("\t")); + push(@parsed_data, $data) if $data; + } + + close($fh); + } + + return @parsed_data; } -sub new_nickserv_nick { +# file: filename to be written, is created accessable only by the user +# data_ref: array ref of data entries +# serialize_fn: receives a data reference and should return an array or tuples +# for that data that will be serialized into one line +sub save_file { + + my ($file, $data_ref, $serialize_fn) = @_; - my $nsnick = {}; + create_private_file($file) unless -e $file; - $nsnick->{ircnet} = shift; - $nsnick->{nick} = shift; - $nsnick->{pass} = shift; + open(my $fh, ">", $file) or die "Can't create $file. Reason: $!"; - return $nsnick; + for my $data (@$data_ref) { + print($fh join("\t", $serialize_fn->($data)), "\n"); + } + + close($fh); +} + +sub create_private_file { + + my ($file) = @_; + my $umask = umask 0077; # save old umask + open(my $fh, ">", $file) or die "Can't create $file. Reason: $!"; + close($fh); + umask $umask; } sub add_nickname { - + my ($network, $nickname, $password) = split(" ", $_[0], 3); - my ($correct_network, $correct_nickname, $correct_password); + my ($correct_network, $correct_nickname); if ($network eq "" || $nickname eq "" || $password eq "") { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_usage_nickname'); return; } - + if ($network) { if (!already_loaded_net($network)) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_not_loaded_net', $network); @@ -247,7 +297,7 @@ $correct_network = 1; } } - + if ($nickname) { if (already_loaded_nick($nickname, $network)) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_loaded_nick', $nickname, $network); @@ -256,28 +306,64 @@ $correct_nickname = 1; } } - + if ($correct_network && $correct_nickname) { push(@nickservauth, new_nickserv_nick($network, $nickname, $password)); - save_nickservnick("$irssidir/$nickservauth_file"); - + save_nickservnick(); + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'saved_nickname', $network, $nickname); } } +sub add_postcmd { + + my ($network, $nickname, $postcmd) = split(" ", $_[0], 3); + my ($correct_network, $correct_nickname); + + if ($network eq "" || $nickname eq "" || $postcmd eq "") { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_usage_postcmd'); + return; + } + + if ($network) { + if (!already_loaded_net($network)) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_not_loaded_net', $network); + return; + } else { + $correct_network = 1; + } + } + + if ($nickname) { + if (!already_loaded_nick($nickname, $network)) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_not_loaded_nick', $nickname, $network); + return; + } else { + $correct_nickname = 1; + } + } + + if ($correct_network && $correct_nickname) { + push(@nickservpostcmd, new_postcmd($network, $nickname, $postcmd)); + save_nickservpostcmd(); + + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'saved_postcmd', $network, $nickname, $postcmd); + } +} + sub add_network { - + my ($network, $hostname) = split(" ", $_[0], 2); my ($correct_net, $correct_host); - + if ($network eq "" || $hostname eq "") { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_usage_network'); return; } - + if ($network) { my ($ircnet) = Irssi::chatnet_find($network); - + if (!$ircnet) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_no_net', $network); return; @@ -288,7 +374,7 @@ $correct_net = 1; } } - + if ($hostname) { if ($hostname !~ /^[.+a-zA-Z0-9_-]{1,}@[.+a-zA-Z0-9_-]{1,}$/) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_wrong_host', $hostname); @@ -297,11 +383,11 @@ $correct_host = 1; } } - + if ($correct_net && $correct_host) { push(@nickservnet, new_nickserv_network($network, $hostname)); - save_nickservnet("$irssidir/$nickservnet_file"); - + save_nickservnet(); + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'saved_network', $network, $hostname); } } @@ -309,56 +395,32 @@ sub already_loaded_net { my ($ircnet) = @_; - my $loaded = check_loaded_net($ircnet); - - if ($loaded > -1) { - return 1; - } - - return 0; -} - -sub check_loaded_net { - - my ($ircnet) = @_; $ircnet = lc($ircnet); - for (my $loaded = 0; $loaded < @nickservnet; ++$loaded) { - return $loaded if (lc($nickservnet[$loaded]->{name}) eq $ircnet); + for my $loaded (@nickservnet) { + return 1 if (lc($loaded->{name}) eq $ircnet); } - - return -1; + + return 0; } sub already_loaded_nick { - my ($nickname, $network) = @_; - my $loaded = check_loaded_nick($nickname, $network); - - if ($loaded > -1) { - return 1; - } - - return 0 -} -sub check_loaded_nick { - - my ($nickname, $network) = @_; - $nickname = lc($nickname); $network = lc($network); - - for (my $loaded = 0; $loaded < @nickservauth; ++$loaded) { - return $loaded if (lc($nickservauth[$loaded]->{nick}) eq $nickname && lc ($nickservauth[$loaded]->{ircnet}) eq $network); + + for my $loaded (@nickservauth) { + return 1 if (lc($loaded->{nick}) eq $nickname && + lc($loaded->{ircnet}) eq $network); } - - return -1; + + return 0; } sub list_net { - + if (@nickservnet == 0) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'network_empty'); } else { @@ -371,7 +433,7 @@ } sub list_nick { - + if (@nickservauth == 0) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickname_empty'); } else { @@ -383,22 +445,37 @@ } } +sub list_postcmd { + + if (@nickservpostcmd == 0) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'postcmd_empty'); + } else { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'postcmd_info'); + + for (my $n = 0; $n < @nickservpostcmd ; ++$n) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'postcmd_print', $n, $nickservpostcmd[$n]->{ircnet}, $nickservpostcmd[$n]->{nick}, $nickservpostcmd[$n]->{postcmd}); + } + } +} + sub nickserv_notice { - + my ($server, $data, $nick, $address) = @_; my ($target, $text) = $data =~ /^(\S*)\s:(.*)/; if (is_nickserv($server->{tag}, $address)) { - if ($text =~ /^If this is your nickname, type \/msg NickServ/ || $text =~ /^This nickname is registered and protected. If it is your/ || $text =~ /This nickname is registered\. Please choose a different nickname,/ || $text =~ /^This nickname is registered. Please choose a different nickname/) { + $text =~ s/[[:cntrl:]]+//g; # remove control crap + + if ($text =~ /^(?:If this is your nickname, type|Please identify via|Type) \/msg NickServ (?i:identify)/ || $text =~ /^This nickname is registered and protected. If it is your/ || $text =~ /This nickname is registered\. Please choose a different nickname/) { my $password = get_password($server->{tag}, $server->{nick}); - + if ($password == -1) { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'password_request', $server->{tag}); Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_nfound_nick', $server->{nick}, $server->{tag}); Irssi::signal_stop(); return; } - + Irssi::signal_stop(); Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'password_request', $server->{tag}); $server->command("^MSG NickServ IDENTIFY $password"); @@ -436,11 +513,12 @@ Irssi::signal_stop(); } elsif ($text =~ /^please choose a different nick./) { Irssi::signal_stop(); - } elsif ($text =~ /^You have already identified/ || $text =~ /^This nick is already identified./) { + } elsif ($text =~ /^You have already identified/ || $text =~ /^This nick is already identified./ || $text =~ /^You are already logged in as/) { Irssi::signal_stop(); - } elsif ($text =~ /^Password accepted - you are now recognized/) { + } elsif ($text =~ /^Password accepted - you are now recognized/ || $text =~ /^You are now identified for/) { Irssi::signal_stop(); Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'password_accepted', $server->{tag}); + run_postcmds($server, $server->{tag}, $server->{nick}) } elsif ($text =~ /^Password Incorrect/ || $text =~ /^Password incorrect./) { Irssi::signal_stop(); Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'password_wrong', $server->{tag}); @@ -448,24 +526,39 @@ } } +sub run_postcmds { + my ($server, $ircnet, $nick) = @_; + return if @nickservpostcmd == 0; + + for my $cmd (@nickservpostcmd) { + if ($ircnet eq $cmd->{ircnet} && + $nick eq $cmd->{nick} && + $cmd->{postcmd}) { + $server->command($cmd->{postcmd}); + } + } +} + sub is_nickserv { - + my ($net, $host) = @_; for (my $loaded = 0; $loaded < @nickservnet; ++$loaded) { - return 1 if (lc($nickservnet[$loaded]->{name}) eq lc($net) && lc($nickservnet[$loaded]->{host}) eq lc($host)); + return 1 if (lc($nickservnet[$loaded]->{name}) eq lc($net) && + lc($nickservnet[$loaded]->{host}) eq lc($host)); } return 0; } sub get_password { - + my ($ircnet, $nick) = @_; - + for (my $loaded = 0; $loaded < @nickservauth; ++$loaded) { - return $nickservauth[$loaded]->{pass} if (lc($nickservauth[$loaded]->{ircnet}) eq lc($ircnet) && lc($nickservauth[$loaded]->{nick}) eq lc($nick)); + return $nickservauth[$loaded]->{pass} if (lc($nickservauth[$loaded]->{ircnet}) eq lc($ircnet) && + lc($nickservauth[$loaded]->{nick}) eq lc($nick)); } - + return -1; } @@ -484,47 +577,76 @@ $ircnetindex = 1; } } - + if ($ircnetindex) { @nickservnet = grep {lc($_->{name}) ne lc($ircnet)} @nickservnet; @nickservauth = grep {lc($_->{ircnet}) ne lc($ircnet)} @nickservauth; + @nickservpostcmd = grep {lc($_->{ircnet}) ne lc($ircnet)} @nickservpostcmd; Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_delled', $ircnet); - save_nickservnet("$irssidir/$nickservnet_file"); - save_nickservnick("$irssidir/$nickservauth_file"); + save_nickservnet(); + save_nickservnick(); + save_nickservpostcmd(); } else { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_nfound', $ircnet); } } sub del_nickname { - + my ($ircnet, $nickname) = split(" ", $_[0], 2); my ($nickindex); - + if ($ircnet eq "" || $nickname eq "") { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_delnickusage'); return; } for (my $index = 0; $index < @nickservauth; ++$index) { - if (lc($nickservauth[$index]->{ircnet}) eq lc($ircnet) && lc($nickservauth[$index]->{nick}) eq lc($nickname)) { + if (lc($nickservauth[$index]->{ircnet}) eq lc($ircnet) && + lc($nickservauth[$index]->{nick}) eq lc($nickname)) { $nickindex = splice(@nickservauth, $index, 1); - } + } } if ($nickindex) { + @nickservpostcmd = grep {lc($_->{ircnet}) ne lc($ircnet) || + lc($_->{nick}) ne lc($nickname)} + @nickservpostcmd; + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_delled_nick', $ircnet, $nickname); - save_nickservnick("$irssidir/$nickservauth_file"); + save_nickservnick(); + save_nickservpostcmd(); } else { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_nfound_nick', $ircnet, $nickname); } } +sub del_postcmd { + + my ($ircnet, $nickname) = split(" ", $_[0], 2); + + if ($ircnet eq "" || $nickname eq "") { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_delpostcmdusage'); + return; + } + + my $size_before = scalar(@nickservpostcmd); + @nickservpostcmd = grep { !( lc($_->{ircnet}) eq lc($ircnet) && lc($_->{nick}) eq lc($nickname) )} @nickservpostcmd; + my $size_after = scalar(@nickservpostcmd); + + if ($size_before != $size_after) { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_delled_postcmd', $ircnet, $nickname); + save_nickservpostcmd(); + } else { + Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_nfound_postcmd', $ircnet, $nickname); + } +} + sub nickserv_runsub { - + my ($data, $server, $item) = @_; $data =~ s/\s+$//g; - + if ($data) { Irssi::command_runsub('nickserv', $data, $server, $item); } else { @@ -532,32 +654,31 @@ } } -load_nickservnet("$irssidir/$nickservnet_file"); -load_nickservnick("$irssidir/$nickservauth_file"); +load_nickservnet($nickservnet_file); +load_nickservnick($nickservauth_file); +load_nickservpostcmd($nickservpostcmd_file); Irssi::command_bind('nickserv', 'nickserv_runsub'); Irssi::command_bind('ns', 'nickserv_runsub'); -Irssi::command_bind('nickserv addnet', 'add_network'); -Irssi::command_bind('ns addnet', 'add_network'); - -Irssi::command_bind('nickserv addnick', 'add_nickname'); -Irssi::command_bind('ns addnick', 'add_nickname'); - -Irssi::command_bind('nickserv listnet', 'list_net'); -Irssi::command_bind('ns listnet', 'list_net'); - -Irssi::command_bind('nickserv listnick', 'list_nick'); -Irssi::command_bind('ns listnick', 'list_nick'); - -Irssi::command_bind('nickserv delnet', 'del_network'); -Irssi::command_bind('ns delnet', 'del_network'); - -Irssi::command_bind('nickserv delnick', 'del_nickname'); -Irssi::command_bind('ns delnick', 'del_nickname'); - Irssi::command_bind('nickserv help' => sub { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_help', $help) }); Irssi::command_bind('ns help' => sub { Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_help', $help) }); +# "command binding" -> "function name" mapping +for my $cmd (( + ['addnet' => 'add_network'], + ['addnick' => 'add_nickname'], + ['addpostcmd' => 'add_postcmd'], + ['listnet' => 'list_net'], + ['listnick' => 'list_nick'], + ['listpostcmd' => 'list_postcmd'], + ['delnet' => 'del_network'], + ['delnick' => 'del_nickname'], + ['delpostcmd' => 'del_postcmd'], +)) { + Irssi::command_bind("nickserv $cmd->[0]", $cmd->[1]); + Irssi::command_bind("ns $cmd->[0]", $cmd->[1]); +} + Irssi::signal_add('event notice', 'nickserv_notice'); Irssi::printformat(MSGLEVEL_CLIENTCRAP, 'nickserv_loaded', $IRSSI{name}, $VERSION, $IRSSI{authors}); diff -Nru irssi-scripts-20160301/scripts/niq.pl irssi-scripts-20170711/scripts/niq.pl --- irssi-scripts-20160301/scripts/niq.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/niq.pl 2017-07-12 04:07:08.000000000 +0000 @@ -126,6 +126,7 @@ contact=> 'bd@bc-bd.org', name=> 'niq', description=> 'BitchX like Nickcompletion at line start plus statusbar', + sbitems=> 'niq', license=> 'GPL v2', url=> 'https://bc-bd.org/cgi-bin/gitweb.cgi?p=irssi.git;a=summary', ); diff -Nru irssi-scripts-20160301/scripts/ogg123.pl irssi-scripts-20170711/scripts/ogg123.pl --- irssi-scripts-20160301/scripts/ogg123.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/ogg123.pl 2017-07-12 03:47:30.000000000 +0000 @@ -64,7 +64,7 @@ } } - open (f, $ogg123file) || return; + open (f,'<', $ogg123file) || return; while ($ogg123linha=) { diff -Nru irssi-scripts-20160301/scripts/operview.pl irssi-scripts-20170711/scripts/operview.pl --- irssi-scripts-20160301/scripts/operview.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/operview.pl 2017-07-12 03:47:38.000000000 +0000 @@ -30,7 +30,8 @@ contact => 'pasky@ji.cz', url => 'http://pasky.ji.cz/~pasky/dev/irssi/', license => 'GPLv2, not later', - description => 'Reformats some server notices, which may come i.e. from &clients or &servers at IRCnet. You can turn the script on/off bytoggling variable mangle_server_notices.' + description => 'Reformats some server notices, which may come i.e. from &clients or &servers at IRCnet. You can turn the script on/off bytoggling variable mangle_server_notices.', + sbitems => 'sclientcount kills', ); my $mangle_stats_output; diff -Nru irssi-scripts-20160301/scripts/osd.pl irssi-scripts-20170711/scripts/osd.pl --- irssi-scripts-20160301/scripts/osd.pl 2016-02-29 21:28:11.000000000 +0000 +++ irssi-scripts-20170711/scripts/osd.pl 2017-07-12 03:47:41.000000000 +0000 @@ -3,7 +3,7 @@ use vars qw($VERSION %IRSSI); use Irssi; -$VERSION = '0.3.3'; +$VERSION = '0.3.4'; %IRSSI = ( authors => 'Jeroen Coekaerts, Koenraad Heijlen', contact => 'vipie@ulyssis.org, jeroen@coekaerts.be', @@ -11,7 +11,7 @@ description => 'An OnScreenDisplay (osd) it show\'s who is talking to you, on what IRC Network.', license => 'BSD', url => 'http://vipie.studentenweb.org/dev/irssi/', - changed => '2004-01-09' + changed => '2017-06-12' ); #-------------------------------------------------------------------- @@ -201,7 +201,8 @@ } } - $command = "|DISPLAY=".Irssi::settings_get_str('osd_display') . + $command = + "env DISPLAY=".Irssi::settings_get_str('osd_display') . " osd_cat $place " . " --color=".Irssi::settings_get_str('osd_color'). " --delay=".Irssi::settings_get_str('osd_delay'). diff -Nru irssi-scripts-20160301/scripts/page-c0ffee.pl irssi-scripts-20170711/scripts/page-c0ffee.pl --- irssi-scripts-20160301/scripts/page-c0ffee.pl 2016-02-29 21:28:18.000000000 +0000 +++ irssi-scripts-20170711/scripts/page-c0ffee.pl 2017-07-12 03:47:42.000000000 +0000 @@ -2,7 +2,7 @@ use vars qw($VERSION %IRSSI); use Irssi 20020120; -$VERSION = "0.02"; +$VERSION = "0.03"; %IRSSI = ( authors => "c0ffee", contact => "c0ffee\@penguin-breeder.org", @@ -10,7 +10,7 @@ description => "Adds the /PAGE command to page a nick (use /page nick )... to ignore pages /set pager_mode off", license => "Public Domain", url => "http://www.penguin-breeder.org/?page=irssi", - changed => "Sun Feb 16 11:32 CET 2003", + changed => "2017-03-12", ); use Irssi::Irc; @@ -45,7 +45,7 @@ my ($server, $data, $nick, $addr, $target) = @_; my $pm = Irssi::settings_get_bool('pager_mode'); my $cmd = Irssi::settings_get_str('pager_cmd'); - my $answer = 0, $pid; + my $answer = 0; my $rnd = int(rand(65535)); if ($pm) { @@ -98,7 +98,7 @@ Irssi::signal_add('ctcp msg page', 'signal_ctcpmsg'); Irssi::signal_add('ctcp reply page', 'signal_ctcpmsg_reply'); Irssi::command_bind('page','cmd_page'); -Irssi::settings_add_bool('misc','pager_mode',true); +Irssi::settings_add_bool('misc','pager_mode',1); Irssi::settings_add_str('misc', 'pager_cmd', ""); # ok, here for the pager_cmd syntax: # "command [parameters]+" diff -Nru irssi-scripts-20160301/scripts/pager.pl irssi-scripts-20170711/scripts/pager.pl --- irssi-scripts-20160301/scripts/pager.pl 2016-02-29 21:28:22.000000000 +0000 +++ irssi-scripts-20170711/scripts/pager.pl 2017-07-12 03:47:44.000000000 +0000 @@ -2,14 +2,16 @@ use strict; use Irssi 20020121.2020 (); -$VERSION = "1.1"; + +use vars qw/$VERSION %IRSSI/; +$VERSION = "1.2"; %IRSSI = ( authors => 'Jean-Yves Lefort', contact => 'jylefort\@brutele.be', name => 'pager', description => 'Notifies people if they send you a private message or a DCC chat offer while you are away; runs a shell command configurable via /set if they page you', license => 'BSD', - changed => '$Date: 2003/01/27 09:45:16 $ ', + changed => '$Date: 2017/03/06 $ ', ); # note: @@ -33,6 +35,9 @@ # # changes: # +# 2017-03-06 release 1.2 +# * declaration $VERSION %IRSSI +# # 2003-01-27 release 1.1 # * notices and commands are now optional # diff -Nru irssi-scripts-20160301/scripts/postpone.pl irssi-scripts-20170711/scripts/postpone.pl --- irssi-scripts-20160301/scripts/postpone.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/postpone.pl 2017-07-12 03:47:55.000000000 +0000 @@ -5,7 +5,7 @@ use strict; use vars qw($VERSION %IRSSI); -$VERSION = "20030208"; +$VERSION = "20170204"; %IRSSI = ( authors => "Stefan 'tommie' Tomanek", contact => "stefan\@pico.ruhr.de", @@ -37,6 +37,8 @@ Display this help /postpone flush Flush postponed messages to +/postpone discard + Discard postponed messages to /postpone list List postponed messages "; @@ -85,11 +87,11 @@ my @arg = split(/ /, $args); if (scalar(@arg) < 1) { #foo - } elsif ($arg[0] eq 'flush' && defined $arg[1]) { + } elsif (($arg[0] eq 'discard' || $arg[0] eq 'flush') && defined $arg[1]) { return unless ($witem && $witem->{type} eq "CHANNEL"); while (scalar(@{$messages{$server->{tag}}{$witem->{name}}{$arg[1]}}) > 0) { my $msg = pop @{$messages{$server->{tag}}{$witem->{name}}{$arg[1]}}; - $server->command('MSG '.$witem->{name}.' '.$msg); + $server->command('MSG '.$witem->{name}.' '.$msg) if $arg[0] eq 'flush'; } } elsif ($arg[0] eq 'list') { my $text; diff -Nru irssi-scripts-20160301/scripts/query.pl irssi-scripts-20170711/scripts/query.pl --- irssi-scripts-20160301/scripts/query.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/query.pl 2017-07-12 03:47:58.000000000 +0000 @@ -16,7 +16,7 @@ # ======[ Script Header ]=============================================== use vars qw{$VERSION %IRSSI}; -($VERSION) = '$Revision: 1.24 $' =~ / (\d+\.\d+) /; +($VERSION) = '$Revision: 1.25 $' =~ / (\d+\.\d+) /; %IRSSI = ( name => 'query', authors => 'Peder Stray', @@ -44,7 +44,7 @@ local *FILE; %defaults = (); - open FILE, "< $file"; + open FILE, '<',$file; while () { my($mask,$maxage,$immortal) = split; $defaults{$mask}{maxage} = $maxage; @@ -59,7 +59,7 @@ my $file = Irssi::get_irssi_dir."/query"; local *FILE; - open FILE, "> $file"; + open FILE, '>', $file; for (keys %defaults) { my $d = $defaults{$_}; print FILE join("\t", $_, diff -Nru irssi-scripts-20160301/scripts/quizgr.pl irssi-scripts-20170711/scripts/quizgr.pl --- irssi-scripts-20160301/scripts/quizgr.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/quizgr.pl 2017-07-12 03:48:02.000000000 +0000 @@ -41,7 +41,7 @@ use vars qw($VERSION %IRSSI); use Irssi 20020217.1542 (); # Version 0.8.1 or perhaps get the most up to date irssi version -$VERSION = "0.7GR02"; +$VERSION = "0.7GR03"; %IRSSI = ( authors => "Athanasius Emilius Arvanitis based on Simon Huggins quiz 0.7", contact => "arvan", @@ -77,6 +77,8 @@ my $tag = $game->{'tag'}; my $channel = $game->{'channel'}; + $game->{'used_questions'}=[]; + my $server = Irssi::server_find_tag($tag); if (!defined $server) { @@ -540,7 +542,7 @@ #putting it in used if (@{$game->{'used_questions'}}){ ${$game->{'usedCounter'}} = @{$game->{'used_questions'}}; - } else {my ${$game->{'usedCounter'}}=0;} + } else {${$game->{'usedCounter'}}=0;} ${$game->{'used_questions'}}[${$game->{'usedCounter'}}]=${$game->{'the_question'}}; @@ -566,7 +568,7 @@ #putting it in used if (@{$game->{'used_questions'}}){ ${$game->{'usedCounter'}} = @{$game->{'used_questions'}}; - } else {my ${$game->{'usedCounter'}} =0;} + } else {${$game->{'usedCounter'}} =0;} ${$game->{'used_questions'}}[${$game->{'usedCounter'}}]=${$game->{'the_question'}}; diff -Nru irssi-scripts-20160301/scripts/quizmaster.pl irssi-scripts-20170711/scripts/quizmaster.pl --- irssi-scripts-20160301/scripts/quizmaster.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/quizmaster.pl 2017-07-12 03:48:04.000000000 +0000 @@ -2,7 +2,7 @@ use strict; use vars qw($VERSION %IRSSI); -$VERSION = '20030208'; +$VERSION = '20170403'; %IRSSI = ( authors => 'Stefan \'tommie\' Tomanek', contact => 'stefan@pico.ruhr.de', @@ -59,7 +59,7 @@ sub save_quizfile { local *F; my $filename = Irssi::settings_get_str("quizmaster_questions_file"); - open(F, ">".$filename); + open(F, ">",$filename); my $dumper = Data::Dumper->new([\%questions], ['quest']); $dumper->Purity(1)->Deepcopy(1); my $data = $dumper->Dump; @@ -74,7 +74,7 @@ return unless -e $file; my $text; local *F; - open F, $file; + open F,'<', $file; $text .= $_ foreach (); close F; return unless "$text"; @@ -84,7 +84,7 @@ sub import_quizfile ($$) { my ($name, $file) = @_; local *F; - open(F, $file); + open(F,'<', $file); my @data = ; my @questions; my $quest = {}; diff -Nru irssi-scripts-20160301/scripts/quiz.pl irssi-scripts-20170711/scripts/quiz.pl --- irssi-scripts-20160301/scripts/quiz.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/quiz.pl 2017-07-12 03:48:01.000000000 +0000 @@ -26,7 +26,7 @@ use vars qw($VERSION %IRSSI); use Irssi 20020217.1542 (); # Version 0.8.1 -$VERSION = "0.7"; +$VERSION = "0.8"; %IRSSI = ( authors => "Simon Huggins", contact => "huggie-irssi\@earth.li", @@ -34,7 +34,7 @@ description => "Turns irssi into a quiz bot", license => "GPLv2", url => "http://the.earth.li/~huggie/irssi/", -changed => "Wed Apr 24 01:12:01 BST 2002", +changed => "2017-04-03", ); use Irssi::Irc; @@ -69,7 +69,7 @@ return if $game->{'questions'} and not $force; my $file = Irssi::settings_get_str("quiz_file"); - if (open(QS, "<$file")) { + if (open(QS, '<',$file)) { @{$game->{'questions'}}=; close(QS); Irssi::print("Loaded questions"); diff -Nru irssi-scripts-20160301/scripts/randaway.pl irssi-scripts-20170711/scripts/randaway.pl --- irssi-scripts-20160301/scripts/randaway.pl 2016-02-29 21:28:56.000000000 +0000 +++ irssi-scripts-20170711/scripts/randaway.pl 2017-07-12 03:48:06.000000000 +0000 @@ -19,7 +19,7 @@ use Irssi::Irc; use vars qw($VERSION %IRSSI); -$VERSION = '1.13'; +$VERSION = '1.14'; %IRSSI = ( authors => "Lasse Karstensen", contact => "lkarsten\@stud.ntnu.no", @@ -32,7 +32,7 @@ # file to read random reasons from. It should contain one # reason at each line, empty lines and lines starting with # is # skipped. -$reasonfile = Irssi::get_irssi_dir() . "/awayreasons"; +my $reasonfile = Irssi::get_irssi_dir() . "/awayreasons"; my @awayreasons; @@ -46,7 +46,7 @@ # like a read() .. ie, stopping at each \n. local $/ = "\n"; while () { - $reason = $_; + my $reason = $_; # remove any naughty linefeeds. chomp($reason); @@ -94,8 +94,8 @@ # adding to current environment. push(@awayreasons, $reason); # and also saving it for later. - open(F, ">>", $reasonsfile); - print F $reason; + open(F, ">>", $reasonfile); + print F $reason,"\n"; close F; Irssi::print("Added: $reason"); } @@ -103,7 +103,7 @@ sub reasons { Irssi::print("Listing current awayreasons"); - foreach $var (@awayreasons) { + foreach my $var (@awayreasons) { Irssi::print("=> \"$var\""); } } diff -Nru irssi-scripts-20160301/scripts/romajibind.pl irssi-scripts-20170711/scripts/romajibind.pl --- irssi-scripts-20160301/scripts/romajibind.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/romajibind.pl 2017-07-12 03:48:15.000000000 +0000 @@ -33,6 +33,7 @@ contact => 'v0rbiz@yahoo.com', name => 'romajibind', description => 'Dynamic romaji binds', + sbitems => 'ro1_sb', license => 'BSD 2-clause', url => 'http://irssi.org/scripts/' ); diff -Nru irssi-scripts-20160301/scripts/rotator.pl irssi-scripts-20170711/scripts/rotator.pl --- irssi-scripts-20160301/scripts/rotator.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/rotator.pl 2017-07-12 04:07:08.000000000 +0000 @@ -10,6 +10,7 @@ contact=> 'bd@bc-bd.org', name=> 'rotator', description=> 'Displaye a small, changeing statusbar item to show irssi is still running', + sbitems=> 'rotator', license=> 'GPL v2', url=> 'https://bc-bd.org/svn/repos/irssi/trunk/', ); diff -Nru irssi-scripts-20160301/scripts/scroller.pl irssi-scripts-20170711/scripts/scroller.pl --- irssi-scripts-20160301/scripts/scroller.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/scroller.pl 2017-07-12 04:07:08.000000000 +0000 @@ -28,16 +28,18 @@ use Irssi; +use Irssi::TextUI; use strict; use vars qw($VERSION %IRSSI); -$VERSION="0.01"; +$VERSION="0.02"; %IRSSI = ( authors=> 'Demonen', contact=> 'demmydemon@gmail.com', name=> 'scroller', description=> 'Scrolls specified text on the status bar', + sbitems=> 'scroller', license=> 'Public Domain', ); @@ -84,7 +86,7 @@ Irssi::settings_add_int('misc', 'scrollerSpeed', 200); $timeout = Irssi::timeout_add(Irssi::settings_get_int('scrollerSpeed'), 'scrollerTimeout' , undef); Irssi::statusbar_item_register('scroller', '$0', 'scrollerStatusbar'); - Irssi::command_bind scrollthis => \&scrollthis; + #Irssi::command_bind scrollthis => \&scrollthis; Irssi::signal_add('setup changed', 'scrollerUpdate'); &scrollerUpdate(); } diff -Nru irssi-scripts-20160301/scripts/showhilight.pl irssi-scripts-20170711/scripts/showhilight.pl --- irssi-scripts-20160301/scripts/showhilight.pl 2016-02-29 21:29:43.000000000 +0000 +++ irssi-scripts-20170711/scripts/showhilight.pl 2017-07-12 03:48:28.000000000 +0000 @@ -1,11 +1,11 @@ # Print hilighted messages with MSGLEVEL_PUBLIC to active window -# for irssi 0.7.99 by Pawe³ 'Styx' Chuchma³a based on hilightwin.pl by Timo Sirainen +# for irssi 0.7.99 by PaweÅ‚ 'Styx' ChuchmaÅ‚a based on hilightwin.pl by Timo Sirainen use strict; use Irssi; use vars qw($VERSION %IRSSI); -$VERSION = "0.1"; +$VERSION = "0.2"; %IRSSI = ( - authors => "Pawe³ \'Styx\' Chuchma³a", + authors => "PaweÅ‚ \'Styx\' ChuchmaÅ‚a", contact => "styx\@irc.pl", name => "showhilight", description => "Show hilight messages in active window", @@ -22,6 +22,7 @@ if (($dest->{level} & MSGLEVEL_HILIGHT) && ($dest->{level} & MSGLEVEL_PUBLIC) && ($window->{refnum} != $dest->{window}->{refnum}) && ($dest->{level} & MSGLEVEL_NOHILIGHT) == 0) { + $text =~ s/%/%%/g; $text = $dest->{target}.":%K[".Irssi::settings_get_str('hilight_color').$dest->{window}->{refnum}."%K]:".$text; $window->print($text, MSGLEVEL_CLIENTCRAP); diff -Nru irssi-scripts-20160301/scripts/sysinfo277-irssi.pl irssi-scripts-20170711/scripts/sysinfo277-irssi.pl --- irssi-scripts-20160301/scripts/sysinfo277-irssi.pl 2016-02-29 21:30:03.000000000 +0000 +++ irssi-scripts-20170711/scripts/sysinfo277-irssi.pl 2017-07-12 03:48:48.000000000 +0000 @@ -29,7 +29,7 @@ use strict; use vars qw($VERSION %IRSSI); -$VERSION = '2.77'; +$VERSION = '2.78'; %IRSSI = ( authors => 'David Rudie', contact => 'david@inexistent.com', @@ -37,7 +37,7 @@ description => 'Cross-platform/architecture system information script.', license => 'BSD', url => 'http://www.inexistent.com/', - changed => 'Mon Sep 01 04:20 PDT 2003', + changed => '2017-06-08', bugs => 'Probably some if it cannot read /proc.' ); @@ -114,7 +114,9 @@ my $x86_64 = 1 if $osm =~ /^x86_64$/; -my $l26 = 1 if $osv =~ /^2\.6/; +# linux => 2.6 +$osv =~ m/^(\d+\.\d+)/; +my $l26 = 1 if 2.6 <=$1; sub cmd_sysinfo { diff -Nru irssi-scripts-20160301/scripts/sysinfoplus.pl irssi-scripts-20170711/scripts/sysinfoplus.pl --- irssi-scripts-20160301/scripts/sysinfoplus.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/sysinfoplus.pl 2017-07-12 03:48:50.000000000 +0000 @@ -16,8 +16,10 @@ # -Total amount of memory counts (not the used amount, as before) # Changelog 2.10 -> 2.20: memory/swap info is displayed now (it was broken previously) and code is properly indented +use strict; +use vars qw/$VERSION %IRSSI/; -$VERSION = "2.20"; +$VERSION = "2.21"; %IRSSI = ( authors => "Juerd, Tronic", contact => "trn\@iki.fi", @@ -25,7 +27,7 @@ description => "Linux system information (with vPenis and other stuff)", license => "Public Domain", url => "http://juerd.nl/irssi/", - changed => "Mon Nov 04 15:17:30 EET 2002" + changed => "2017-04-02" ); BEGIN{ @@ -37,7 +39,6 @@ $console = !!$@; } -use strict; # Tronic has no time for maintaining this and Juerd hates braces, so it might be better # not to expect any new versions ... @@ -51,7 +52,7 @@ $ret = "Host '@uname[1]', running @uname[0] @uname[2] - "; - open FOO, '/proc/cpuinfo'; + open FOO,'<', '/proc/cpuinfo'; while (){ /^processor\s*:\s*(\d+)/ ? $ret .= "Cpu$1: " : /^model name\s*:\s*(\w+[ A-Za-z]*)/ ? do { my $t = $1; $t =~ s/\s+$//; $ret .= "$t " } @@ -60,7 +61,7 @@ } close FOO; $ret =~ s/( ?)$/;$1/; - open FOO, '/proc/pci'; + open FOO,'<', '/proc/pci'; while (){ /^\s*(?:multimedia )?(.*?)( storage| compatible)? controller/i and push @pci, $1; } diff -Nru irssi-scripts-20160301/scripts/tinyurl.pl irssi-scripts-20170711/scripts/tinyurl.pl --- irssi-scripts-20160301/scripts/tinyurl.pl 2016-02-29 21:30:16.000000000 +0000 +++ irssi-scripts-20170711/scripts/tinyurl.pl 2017-07-12 03:42:19.000000000 +0000 @@ -3,17 +3,17 @@ # by Atoms use strict; -use IO::Socket; -use LWP::UserAgent; +use WWW::Shorten::TinyURL; +use WWW::Shorten 'TinyURL'; use vars qw($VERSION %IRSSI); use Irssi qw(command_bind active_win); -$VERSION = '1.0'; +$VERSION = '1.1'; %IRSSI = ( authors => 'Atoms', contact => 'atoms@tups.lv', - patch => 'spowers@dimins.com', + patch => 'spowers@dimins.com', name => 'tinyurl', description => 'create a tinyurl from a long one', license => 'GPL', @@ -21,50 +21,28 @@ command_bind( tinyurl => sub { - my ($msg, $server, $witem) = @_; - my $answer = tinyurl($msg); - if ($answer) { - print CLIENTCRAP "$answer"; - if ($witem && ($witem->{type} eq 'CHANNEL' || $witem->{type} eq 'QUERY')) { - $witem->command("MSG " . $witem->{name} ." ". $answer); + my ($msg, $server, $witem) = @_; + my $answer = tinyurl($msg); + + if ($answer) { + print CLIENTCRAP "$answer"; + + if ($witem && ($witem->{type} eq 'CHANNEL' || $witem->{type} eq 'QUERY')) { + $witem->command("MSG " . $witem->{name} ." ". $answer); + } } - } } ); sub tinyurl { - my $url = shift; - - #added to fix URLs containing a '&' - $url=url_encode($url); - - my $ua = LWP::UserAgent->new; - $ua->agent("tinyurl for irssi/1.0 "); - my $req = HTTP::Request->new(POST => 'http://tinyurl.com/create.php'); - $req->content_type('application/x-www-form-urlencoded'); - $req->content("url=$url"); - my $res = $ua->request($req); - - if ($res->is_success) { - return get_tiny_url($res->content); - } else { - print CLIENTCRAP "ERROR: tinyurl: tinyurl is down or not pingable"; - return ""; - } -} - -#added because the URL was not being url_encoded. This would cause only -#the portion of the URL before the first "&" to be properly sent to tinyurl. -sub url_encode { - my $url = shift; - $url =~ s/([\W])/"%" . uc(sprintf("%2.2x",ord($1)))/eg; - return $url; -} + my $url = shift; -sub get_tiny_url($) { - - my $tiny_url_body = shift; - $tiny_url_body =~ /(.*)(tinyurl\svalue=\")(.*)(\")(.*)/; + my $res = makeashorterlink($url); - return $3; + if (defined $res) { + return $res; + } else { + print CLIENTCRAP "ERROR: tinyurl: tinyurl is down or not pingable"; + return ""; + } } diff -Nru irssi-scripts-20160301/scripts/topicsed.pl irssi-scripts-20170711/scripts/topicsed.pl --- irssi-scripts-20160301/scripts/topicsed.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/topicsed.pl 2017-07-12 03:49:01.000000000 +0000 @@ -4,17 +4,18 @@ # Thanks to Mikael Magnusson for the idea and patch to implement a # preview functionality. ;] # - +use strict; use Irssi; -use vars %IRSSI; +use vars qw/%IRSSI $VERSION/; +$VERSION="0.1"; %IRSSI = ( authors => "Gabor Nyeki", contact => "bigmac\@vim.hu", name => "topicsed", description => "editing channel topics by regexps", license => "public domain", - changed => "Fri Aug 13 19:27:38 CEST 2004" + changed => "2017-03-18" ); @@ -32,7 +33,7 @@ return; } return if (!$server || !$server->{connected} || - !$winit || $winit->{type} != 'CHANNEL'); + !$winit || $winit->{type} ne 'CHANNEL'); my $topic = $winit->{topic}; my $x = $topic; diff -Nru irssi-scripts-20160301/scripts/trigger.pl irssi-scripts-20170711/scripts/trigger.pl --- irssi-scripts-20160301/scripts/trigger.pl 2016-02-29 21:30:48.000000000 +0000 +++ irssi-scripts-20170711/scripts/trigger.pl 2017-07-12 03:49:07.000000000 +0000 @@ -23,7 +23,7 @@ use IO::File; use vars qw($VERSION %IRSSI); -$VERSION = '1.0+'; +$VERSION = '1.1'; %IRSSI = ( authors => 'Wouter Coekaerts', contact => 'wouter@coekaerts.be', @@ -456,7 +456,8 @@ 'types' => \@all_types, 'sub' => sub { my ($param, $signal,$parammessage,$server,$channelname,$nickname,$address,$condition,$extra) = @_; - return (defined($nickname) && defined($address) && defined($server) && $server->masks_match($param, $nickname, $address)); + $address //= ''; + return (defined($nickname) && defined($server) && $server->masks_match($param, $nickname, $address)); } }, 'other_masks' => { diff -Nru irssi-scripts-20160301/scripts/twirssi.pl irssi-scripts-20170711/scripts/twirssi.pl --- irssi-scripts-20160301/scripts/twirssi.pl 2016-02-29 21:32:03.000000000 +0000 +++ irssi-scripts-20170711/scripts/twirssi.pl 2017-07-12 03:49:48.000000000 +0000 @@ -17,7 +17,7 @@ use vars qw($VERSION %IRSSI); -$VERSION = sprintf '%s', q$Version: v2.6.3$ =~ /^\w+:\s+v(\S+)/; +$VERSION = sprintf '%s', q$Version: v2.6.4$ =~ /^\w+:\s+v(\S+)/; %IRSSI = ( authors => '@zigdon, @gedge', contact => 'zigdon@gmail.com', @@ -322,10 +322,10 @@ my %args = @_; $args{fmt} =~ s/\$n/\@$args{nick}/g; if (defined $args{data} and $args{data} ne '') { - $args{fmt} =~ s/\${|\$}//g; + $args{fmt} =~ s/\$\{|\$}//g; $args{fmt} =~ s/\$c/$args{data}/g; } else { - $args{fmt} =~ s/\${.*?\$}//g; + $args{fmt} =~ s/\$\{.*?\$}//g; } $args{fmt} =~ s/\$t/$args{tweet}/g; return $args{fmt}; @@ -3241,7 +3241,7 @@ while (defined $pre_proc and $pre_proc ne '') { if ($pre_proc =~ s/^lc(?:,|$)//) { $settings{$setting->[0]} = lc $settings{$setting->[0]}; - } elsif ($pre_proc =~ s/^list{(.)}(?:,|$)//) { + } elsif ($pre_proc =~ s/^list\{(.)}(?:,|$)//) { my $re = $1; $re = qr/\s*$re\s*/ if $trim; if ($settings{$setting->[0]} eq '') { diff -Nru irssi-scripts-20160301/scripts/twprompt.pl irssi-scripts-20170711/scripts/twprompt.pl --- irssi-scripts-20160301/scripts/twprompt.pl 2016-02-29 21:30:53.000000000 +0000 +++ irssi-scripts-20170711/scripts/twprompt.pl 2017-07-12 03:49:11.000000000 +0000 @@ -32,6 +32,7 @@ contact => 'jengelbr@yahoo.com', name => 'twprompt.pl', description => 'BitchX\'s CrackRock3 animated prompt bar.', + sbitems => 'twprompt', license => 'Public Domain', changed => 'Wed Sep 29 02:58:28 CDT 2004', url => 'http://irssi.darktalker.net'."\n", diff -Nru irssi-scripts-20160301/scripts/twtopic.pl irssi-scripts-20170711/scripts/twtopic.pl --- irssi-scripts-20160301/scripts/twtopic.pl 2016-02-29 21:30:56.000000000 +0000 +++ irssi-scripts-20170711/scripts/twtopic.pl 2017-07-12 03:49:13.000000000 +0000 @@ -10,6 +10,7 @@ contact => 'jengelbr@yahoo.com', name => 'twtopic.pl', description => 'Animated Topic bar.', + sbitems => 'twtopic', license => 'Public Domain', changed => 'Sat Nov 20 14:15:18 CST 2004', url => 'http://irssi.darktalker.net'."\n", diff -Nru irssi-scripts-20160301/scripts/urlgrab.pl irssi-scripts-20170711/scripts/urlgrab.pl --- irssi-scripts-20160301/scripts/urlgrab.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/urlgrab.pl 2017-07-12 04:07:08.000000000 +0000 @@ -1,13 +1,20 @@ #!/usr/bin/perl -w +# +# Settings: +# /SET urlgrab_command +# Command to execute when opening URLs +# Default: xdg-open '%s' > /dev/null 2>&1 +# + use strict; use Irssi 20010120.0250 (); use vars qw($VERSION %IRSSI); -$VERSION = "0.2"; +$VERSION = "0.3"; %IRSSI = ( authors => 'David Leadbeater', contact => 'dgl@dgl.cx', name => 'urlgrab', - description => 'Captures urls said in channel and private messages and saves them to a file, also adds a /url command which loads the last said url into mozilla.', + description => 'Captures urls said in channel and private messages and saves them to a file, also adds a /url command which loads the last said url into a browser.', license => 'GNU GPLv2 or later', url => 'http://irssi.dgl.cx/', ); @@ -34,7 +41,7 @@ Irssi::print("No url captured yet"); return; } - system("netscape-remote -remote 'openURL($lasturl)' &>/dev/null"); + system(sprintf(Irssi::settings_get_str("urlgrab_command"), $lasturl)); } sub find_url { @@ -56,7 +63,7 @@ close(URLLOG); } +Irssi::settings_add_str("misc", "urlgrab_command", "xdg-open '%s' > /dev/null 2>&1"); Irssi::signal_add_last("message public", "url_public"); Irssi::signal_add_last("message private", "url_private"); Irssi::command_bind("url", "url_cmd"); - diff -Nru irssi-scripts-20160301/scripts/wordcompletition.pl irssi-scripts-20170711/scripts/wordcompletition.pl --- irssi-scripts-20160301/scripts/wordcompletition.pl 2013-05-11 21:56:14.000000000 +0000 +++ irssi-scripts-20170711/scripts/wordcompletition.pl 2017-07-12 03:49:35.000000000 +0000 @@ -1,9 +1,10 @@ #!/usr/bin/perl use Irssi; use DBI; +use DBD::SQLite; use strict; use vars qw($VERSION %IRSSI); -$VERSION = "0.1"; +$VERSION = "0.2"; %IRSSI = ( authors => "Jesper Lindh", contact => "rakblad\@midgard.liu.se", @@ -11,28 +12,35 @@ description => "Adds words from IRC to your tab-completion list", license => "Public Domain", url => "http://midgard.liu.se/~n02jesli/perl/", - changed => "2004-03-12" + changed => "2017-03-19", + modules => "DBD::SQLite" ); -my ($dsn) = "DBI:mysql:yourdatabase:databashostname"; -my ($user_name) = "yourusername"; -my ($password) = "yourpassword"; + +my $bd= Irssi::get_irssi_dir(); +my $fndb="wordcompletition.db"; +#my ($dsn) = "DBI:mysql:yourdatabase:databashostname"; +my ($dsn) = "DBI:SQLite:dbname=$bd/$fndb"; +my ($user_name) = ""; +my ($password) = ""; my ($dbh, $sth); my (@ary); my $query; my $connect = 1; $dbh = DBI->connect ($dsn, $user_name, $password, { RaiseError => 1 }); +$dbh->do("create table if not exists words (word varchar(30), prio int)"); + sub wordsearch { my $sw = shift; my @retar; my $i = 0; - $query = qq{ select word from words where word like "$sw%" order by prio desc }; + $query = qq{ select word from words where word like ? order by prio desc }; $sth = $dbh->prepare ( $query ); - $sth->execute(); + $sth->execute($sw.'%'); while (@ary = $sth->fetchrow_array ()) { - $retar[$i++] = join ("", @ary), "\n"; + push @retar,$ary[0]; } $sth->finish(); return @retar; @@ -41,9 +49,9 @@ { my $sw = shift; my $ret; - $query = qq{ select word from words where word = "$sw" }; + $query = qq{ select word from words where word = ? }; $sth = $dbh->prepare ( $query ); - $sth->execute(); + $sth->execute($sw); @ary = $sth->fetchrow_array; $ret = join ("", @ary), "\n"; $sth->finish(); @@ -53,32 +61,32 @@ sub wordupdate { my $sw = shift; - $query = qq { update words set prio = prio + 1 where word = "$sw" }; + $query = qq { update words set prio = prio + 1 where word = ? }; $sth = $dbh->prepare ( $query ); - $sth->execute(); + $sth->execute($sw); $sth->finish(); }; sub delword { my $sw = shift; - $query = qq { delete from words where word = "$sw" }; + $query = qq { delete from words where word = ? }; $sth = $dbh->prepare ( $query ); - $sth->execute(); + $sth->execute($sw); $sth->finish(); }; sub addword { my $sw = shift; - $query = qq { insert into words values ('$sw', 1) }; + $query = qq { insert into words values (?, 1) }; $sth = $dbh->prepare ( $query ); - $sth->execute(); + $sth->execute($sw); $sth->finish(); }; sub word_complete { my ($complist, $window, $word, $linestart, $want_space) = @_; $word =~ s/([^a-zA-Z0-9åäöÅÄÖ])//g; - @$complist = wordsearch($word); + push @$complist , wordsearch($word); }; sub word_message { diff -Nru irssi-scripts-20160301/scripts/xetra.pl irssi-scripts-20170711/scripts/xetra.pl --- irssi-scripts-20160301/scripts/xetra.pl 2016-02-29 23:22:54.000000000 +0000 +++ irssi-scripts-20170711/scripts/xetra.pl 2017-07-12 04:07:08.000000000 +0000 @@ -10,6 +10,7 @@ description => "brings the stock exchanges of the world to your irssi", license => "GPLv2", changed => "$VERSION", + sbitems => "xetra", commands => "xetra" );