From 2d0759e6ca5767b48bcc85bf38c2c43d5f0b63b1 Mon Sep 17 00:00:00 2001 From: Alexander Færøy Date: Sat, 31 May 2014 13:10:46 +0200 Subject: Import scripts from scripts.irssi.org --- scripts/8-ball.pl | 124 + scripts/Cirssi.pl | 722 ++++ scripts/UNIBG-autoident.pl | 242 ++ scripts/accent.pl | 153 + scripts/access_evermore.pl | 356 ++ scripts/accountname.pl | 23 + scripts/act.pl | 72 + scripts/act_fifo.pl | 175 + scripts/active_notice.pl | 61 + scripts/active_notify.pl | 157 + scripts/activity_file.pl | 95 + scripts/ai.pl | 265 ++ scripts/aidle.pl | 79 + scripts/akftp.pl | 96 + scripts/alame.pl | 36 + scripts/amarok_ssh.pl | 285 ++ scripts/amaroknp.pl | 116 + scripts/anotherway.pl | 54 + scripts/antiplenk.pl | 47 + scripts/apm.pl | 121 + scripts/armeija.pl | 267 ++ scripts/ascii.pl | 405 +++ scripts/auto_whois.pl | 79 + scripts/autoaway.pl | 142 + scripts/autochannel.pl | 90 + scripts/autocycle.pl | 47 + scripts/autolimit.pl | 31 + scripts/autoop.pl | 91 + scripts/autoopper.pl | 412 +++ scripts/autorealname.pl | 298 ++ scripts/autorejoin.pl | 57 + scripts/autorejoinpunish.pl | 124 + scripts/autoreminder.pl | 147 + scripts/autostuff.pl | 39 + scripts/autoversion.pl | 25 + scripts/autovoice.pl | 679 ++++ scripts/autowhois.pl | 38 + scripts/autowhois_simple.pl | 39 + scripts/autowrap.pl | 38 + scripts/away.pl | 198 + scripts/away2web.pl | 58 + scripts/away_hilight_notice.pl | 95 + scripts/away_verbose.pl | 234 ++ scripts/awaybar.pl | 43 + scripts/awaylogcnt.pl | 58 + scripts/awayproxy.pl | 277 ++ scripts/babelirc.pl | 284 ++ scripts/badword.pl | 163 + scripts/ban.pl | 394 ++ scripts/bandwidth.pl | 114 + scripts/bantime.pl | 55 + scripts/beep.pl | 50 + scripts/beep_beep.pl | 51 + scripts/beepaway.pl | 37 + scripts/bestoiber.pl | 61 + scripts/bgta.pl | 284 ++ scripts/binary.pl | 114 + scripts/binary_time.pl | 70 + scripts/bitlbee_blist.pl | 61 + scripts/bitlbee_join_notice-pre-3.0.pl | 95 + scripts/bitlbee_join_notice.pl | 108 + scripts/bitlbee_nick_change-pre-3.0.pl | 64 + scripts/bitlbee_nick_change.pl | 72 + scripts/bitlbee_tab_completion.pl | 88 + scripts/bitlbee_timestamp.pl | 105 + scripts/bitlbee_typing_notice-pre-3.0.pl | 321 ++ scripts/bitlbee_typing_notice.pl | 319 ++ scripts/blowjob.pl | 558 +++ scripts/bmi.pl | 45 + scripts/buf.pl | 122 + scripts/calc.pl | 30 + scripts/callerid.pl | 135 + scripts/cddb.pl | 122 + scripts/centericq.pl | 340 ++ scripts/cgrep.pl | 190 + scripts/chanact.pl | 701 ++++ scripts/chanfull.pl | 48 + scripts/chanfull_duden.pl | 47 + scripts/chanpeak.pl | 182 + scripts/chansearch.pl | 116 + scripts/chanshare.pl | 118 + scripts/chansort.pl | 103 + scripts/chansync.pl | 75 + scripts/chops.pl | 144 + scripts/cleanpublic.pl | 41 + scripts/clipboard.pl | 90 + scripts/cloneprot.pl | 89 + scripts/clones.pl | 55 + scripts/colorkick.pl | 68 + scripts/colorswap.pl | 47 + scripts/complete_lastspoke.pl | 46 + scripts/connectcmd.pl | 155 + scripts/countdown.pl | 59 + scripts/country.pl | 325 ++ scripts/cp1250_kick.pl | 65 + scripts/crapbuster.pl | 43 + scripts/cron.pl | 301 ++ scripts/cwho.pl | 79 + scripts/dancer_forwardfix.pl | 58 + scripts/dancer_hide_477.pl | 54 + scripts/dau.pl | 5750 ++++++++++++++++++++++++++++++ scripts/dcc_ip.pl | 61 + scripts/dccmove.pl | 45 + scripts/dccself.pl | 37 + scripts/dccstat.pl | 500 +++ scripts/defaultchanmode.pl | 98 + scripts/dejunk.pl | 418 +++ scripts/deliciousurl.pl | 168 + scripts/df.pl | 156 + scripts/dice.pl | 191 + scripts/dictcomplete.pl | 78 + scripts/dispatch.pl | 26 + scripts/dns.pl | 199 ++ scripts/dnsspam.pl | 170 + scripts/doc.pl | 274 ++ scripts/doublefilter.pl | 113 + scripts/dr_who.pl | 257 ++ scripts/efnetorg.pl | 87 + scripts/elist.pl | 127 + scripts/eliza.pl | 107 + scripts/email_privmsgs.pl | 148 + scripts/emaildb1.0.pl | 118 + scripts/eng_no_translate_dpryo.pl | 57 + scripts/events.pl | 54 + scripts/exec_clean.pl | 51 + scripts/extaway.pl | 194 + scripts/fakectcp.pl | 277 ++ scripts/fcountry.pl | 103 + scripts/figlet.pl | 58 + scripts/file.pl | 90 + scripts/find.pl | 44 + scripts/findbot.pl | 964 +++++ scripts/fleech.pl | 948 +++++ scripts/follow.pl | 72 + scripts/foo.pl | 75 + scripts/foreach_user.pl | 59 + scripts/format_identify.pl | 440 +++ scripts/fortune.pl | 103 + scripts/forward.pl | 128 + scripts/freenode_filter.pl | 122 + scripts/friends_peder.pl | 729 ++++ scripts/friends_shasta.pl | 2719 ++++++++++++++ scripts/fserve.pl | 3578 +++++++++++++++++++ scripts/fuckem.pl | 86 + scripts/getop.pl | 387 ++ scripts/gimmie.pl | 38 + scripts/go.pl | 59 + scripts/go2.pl | 492 +++ scripts/google.pl | 108 + scripts/gpgvalidator.pl | 224 ++ scripts/grep.pl | 82 + scripts/gsi.pl | 154 + scripts/gtrans.pl | 681 ++++ scripts/guts.pl | 21 + scripts/hddtemp.pl | 182 + scripts/hello.pl | 55 + scripts/hide.pl | 177 + scripts/hideauth.pl | 63 + scripts/highlite.pl | 113 + scripts/hignore.pl | 78 + scripts/hilightwin.pl | 57 + scripts/hipchat_complete.pl | 142 + scripts/history_search.pl | 147 + scripts/hitcount.pl | 155 + scripts/hl.pl | 54 + scripts/hlbot.pl | 217 ++ scripts/hostname.pl | 156 + scripts/iMPD.pl | 1178 ++++++ scripts/identify-md5.pl | 168 + scripts/idletime.pl | 70 + scripts/idonkey.pl | 1408 ++++++++ scripts/ignore_log.pl | 78 + scripts/ignoreoc.pl | 64 + scripts/ignorsula.pl | 29 + scripts/il.pl | 104 + scripts/imdb.pl | 71 + scripts/intjoin.pl | 118 + scripts/invitejoin.pl | 73 + scripts/ipupdate.pl | 37 + scripts/iraident.pl | 65 + scripts/irc_chess.pl | 212 ++ scripts/irccomplete.pl | 210 ++ scripts/ircgallery.pl | 255 ++ scripts/ircgmessagenotify.pl | 216 ++ scripts/ircops.pl | 44 + scripts/ircsec.pl | 209 ++ scripts/irssi-feed.pl | 445 +++ scripts/irssiBlaster.pl | 443 +++ scripts/irssiq.pl | 831 +++++ scripts/isdn.pl | 55 + scripts/itime.pl | 46 + scripts/ixmmsa.pl | 63 + scripts/joininfo.pl | 1097 ++++++ scripts/kblamehost.pl | 62 + scripts/keepnick.pl | 456 +++ scripts/kenny.pl | 92 + scripts/kernel.pl | 64 + scripts/keybinds.pl | 150 + scripts/kicks.pl | 246 ++ scripts/kill_fake_gets.pl | 128 + scripts/kills.pl | 102 + scripts/kline_warning.pl | 147 + scripts/l33tmusic.pl | 283 ++ scripts/lastfm.pl | 447 +++ scripts/lastspoke.pl | 154 + scripts/len.pl | 374 ++ scripts/leodict.pl | 238 ++ scripts/licq.pl | 63 + scripts/linkchan.pl | 488 +++ scripts/listen.pl | 158 + scripts/loadavg.pl | 42 + scripts/localize.pl | 1637 +++++++++ scripts/log2ansi.pl | 253 ++ scripts/logcompress.pl | 23 + scripts/ls.pl | 40 + scripts/lwho.pl | 29 + scripts/mail.pl | 414 +++ scripts/mailcheck_imap.pl | 567 +++ scripts/mailcheck_mbox_flux.pl | 118 + scripts/mailcheck_pop3_kimmo.pl | 125 + scripts/mailcount.pl | 187 + scripts/mangle.pl | 311 ++ scripts/map.pl | 129 + scripts/mass_hilight_blocker.pl | 63 + scripts/mg.pl | 228 ++ scripts/miodek.pl | 368 ++ scripts/mirc_colour_popup.pl | 60 + scripts/mkick.pl | 114 + scripts/mkshorterlink.pl | 221 ++ scripts/mldonkey_bandwidth.pl | 44 + scripts/mlock.pl | 135 + scripts/modelist-r.pl | 467 +++ scripts/modelist.pl | 153 + scripts/monitor.pl | 441 +++ scripts/mood.pl | 197 + scripts/morse.pl | 347 ++ scripts/mouse.pl | 168 + scripts/mpd.pl | 176 + scripts/mpg123.pl | 86 + scripts/multipaste.pl | 151 + scripts/my_beep.pl | 59 + scripts/mygoogle.pl | 114 + scripts/myimdb.pl | 114 + scripts/mysqlurllogger.pl | 69 + scripts/nact.pl | 334 ++ scripts/netswitch.pl | 43 + scripts/news.pl | 284 ++ scripts/newsline.pl | 453 +++ scripts/nickban.pl | 50 + scripts/nickcolor.pl | 156 + scripts/nickignore.pl | 49 + scripts/nicklist.pl | 611 ++++ scripts/nickmix-c0ffee.pl | 89 + scripts/nickmix_pasky.pl | 74 + scripts/nickserv.pl | 563 +++ scripts/niq.pl | 295 ++ scripts/nm.pl | 662 ++++ scripts/nocaps.pl | 96 + scripts/nocollide.pl | 118 + scripts/noisyquery.pl | 31 + scripts/nopl.pl | 66 + scripts/norepeat.pl | 76 + scripts/notes.pl | 277 ++ scripts/noteserve.pl | 89 + scripts/noticemove.pl | 48 + scripts/notonline.pl | 76 + scripts/null.pl | 15 + scripts/ogg123.pl | 95 + scripts/oidenty.pl | 77 + scripts/on.pl | 299 ++ scripts/ontv.pl | 339 ++ scripts/oops.pl | 33 + scripts/openurl.pl | 269 ++ scripts/operit.pl | 320 ++ scripts/operview.pl | 421 +++ scripts/opnotice.pl | 55 + scripts/opnotify.pl | 47 + scripts/orphamp.pl | 130 + scripts/osd.pl | 312 ++ scripts/ownage.pl | 49 + scripts/page-c0ffee.pl | 115 + scripts/page_reeler.pl | 47 + scripts/pager.pl | 121 + scripts/paste-derwan.pl | 184 + scripts/paste_derwan.pl | 381 ++ scripts/paste_huggie.pl | 187 + scripts/paste_kimmoke.pl | 109 + scripts/pelix.pl | 235 ++ scripts/people.pl | 2492 +++++++++++++ scripts/per_window_prompt.pl | 109 + scripts/pggb_sound.pl | 251 ++ scripts/poison.pl | 341 ++ scripts/postpone.pl | 117 + scripts/ppl.pl | 210 ++ scripts/q_username.pl | 26 + scripts/query.pl | 670 ++++ scripts/queryresume.pl | 64 + scripts/quitmsg.pl | 45 + scripts/quitrand.pl | 52 + scripts/quiz.pl | 451 +++ scripts/quizgr.pl | 653 ++++ scripts/quizmaster-fr.pl | 355 ++ scripts/quizmaster.pl | 354 ++ scripts/rainbow.pl | 146 + scripts/randaway.pl | 117 + scripts/randname.pl | 46 + scripts/redirect.pl | 38 + scripts/relm.pl | 88 + scripts/remote.pl | 62 + scripts/reorder.pl | 150 + scripts/repeat.pl | 144 + scripts/resize_split.pl | 62 + scripts/rhythmbox.pl | 129 + scripts/rk.pl | 53 + scripts/romaji.pl | 273 ++ scripts/romajibind.pl | 300 ++ scripts/rot13.pl | 77 + scripts/rotator.pl | 137 + scripts/sana_cmd.pl | 57 + scripts/schwaebisch.pl | 173 + scripts/screen_away.pl | 243 ++ scripts/scriptassist.pl | 1160 ++++++ scripts/scripthelp.pl | 37 + scripts/scriptinfo.pl | 118 + scripts/scrmable.pl | 80 + scripts/scroller.pl | 95 + scripts/securemsg.pl | 509 +++ scripts/seen.pl | 1198 +++++++ scripts/servercomplete.pl | 85 + scripts/seti.pl | 50 + scripts/shortenurl.pl | 170 + scripts/shorturl.pl | 245 ++ scripts/showhilight.pl | 30 + scripts/showhost.pl | 68 + scripts/showmode.pl | 83 + scripts/smiley.pl | 43 + scripts/sms.pl | 438 +++ scripts/snmpup.pl | 101 + scripts/spambot.pl | 80 + scripts/special_complete.pl | 30 + scripts/spell.pl | 125 + scripts/spellcheck.pl | 213 ++ scripts/sping.pl | 36 + scripts/splitlong.pl | 60 + scripts/stocks.pl | 431 +++ scripts/studivz_bitlbee_rename.pl | 74 + scripts/synccheck.pl | 346 ++ scripts/sysinfo270-irssi.pl | 540 +++ scripts/sysinfo277-irssi.pl | 540 +++ scripts/sysinfo_dg.pl | 329 ++ scripts/sysinfo_juerd.pl | 106 + scripts/sysinfoplus.pl | 106 + scripts/tab_stop.pl | 59 + scripts/talk.pl | 230 ++ scripts/target.pl | 163 + scripts/thankop.pl | 134 + scripts/thistory.pl | 159 + scripts/timer.pl | 175 + scripts/timezones.pl | 61 + scripts/tinyurl.pl | 70 + scripts/title.pl | 144 + scripts/tlock.pl | 81 + scripts/topics.pl | 126 + scripts/topicsed.pl | 60 + scripts/tordetect.pl | 73 + scripts/trackbar.pl | 189 + scripts/tracknick.pl | 178 + scripts/translit.pl | 102 + scripts/trigger.pl | 1225 +++++++ scripts/trustweb.pl | 374 ++ scripts/tvmusor.pl | 139 + scripts/twprompt.pl | 96 + scripts/twsocials.pl | 1133 ++++++ scripts/twtopic.pl | 108 + scripts/u.pl | 69 + scripts/upgradeinfo.pl | 132 + scripts/upsidedown.pl | 55 + scripts/uptime.pl | 192 + scripts/url_log.pl | 393 ++ scripts/urlfeed.pl | 258 ++ scripts/urlgrab.pl | 61 + scripts/urlplot.pl | 841 +++++ scripts/usercount.pl | 172 + scripts/userhost.pl | 104 + scripts/users.pl | 270 ++ scripts/version-stat.pl | 87 + scripts/verstats.pl | 81 + scripts/vowels.pl | 93 + scripts/wa.pl | 280 ++ scripts/warnkick.pl | 71 + scripts/washnicks.pl | 67 + scripts/watch.pl | 176 + scripts/weather.pl | 305 ++ scripts/whitelist.pl | 445 +++ scripts/whois.pl | 38 + scripts/whois_hexip.pl | 102 + scripts/whos.pl | 83 + scripts/wilm.pl | 54 + scripts/window_switcher.pl | 146 + scripts/wisestamp.pl | 75 + scripts/wkb.pl | 57 + scripts/wlstat.pl | 669 ++++ scripts/wordcompletition.pl | 136 + scripts/wordscramble.pl | 152 + scripts/xauth.pl | 546 +++ scripts/xcmd.pl | 65 + scripts/xdccget.pl | 350 ++ scripts/xetra.pl | 208 ++ scripts/xlist.pl | 65 + scripts/xmms.pl | 161 + scripts/xmms2.pl | 86 + scripts/xmmsinfo.pl | 116 + scripts/xqf.pl | 238 ++ 413 files changed, 94632 insertions(+) create mode 100644 scripts/8-ball.pl create mode 100644 scripts/Cirssi.pl create mode 100644 scripts/UNIBG-autoident.pl create mode 100644 scripts/accent.pl create mode 100644 scripts/access_evermore.pl create mode 100644 scripts/accountname.pl create mode 100644 scripts/act.pl create mode 100644 scripts/act_fifo.pl create mode 100644 scripts/active_notice.pl create mode 100644 scripts/active_notify.pl create mode 100644 scripts/activity_file.pl create mode 100644 scripts/ai.pl create mode 100644 scripts/aidle.pl create mode 100644 scripts/akftp.pl create mode 100644 scripts/alame.pl create mode 100644 scripts/amarok_ssh.pl create mode 100644 scripts/amaroknp.pl create mode 100644 scripts/anotherway.pl create mode 100644 scripts/antiplenk.pl create mode 100644 scripts/apm.pl create mode 100644 scripts/armeija.pl create mode 100644 scripts/ascii.pl create mode 100644 scripts/auto_whois.pl create mode 100644 scripts/autoaway.pl create mode 100644 scripts/autochannel.pl create mode 100644 scripts/autocycle.pl create mode 100644 scripts/autolimit.pl create mode 100644 scripts/autoop.pl create mode 100644 scripts/autoopper.pl create mode 100644 scripts/autorealname.pl create mode 100644 scripts/autorejoin.pl create mode 100644 scripts/autorejoinpunish.pl create mode 100644 scripts/autoreminder.pl create mode 100644 scripts/autostuff.pl create mode 100644 scripts/autoversion.pl create mode 100644 scripts/autovoice.pl create mode 100644 scripts/autowhois.pl create mode 100644 scripts/autowhois_simple.pl create mode 100644 scripts/autowrap.pl create mode 100644 scripts/away.pl create mode 100644 scripts/away2web.pl create mode 100644 scripts/away_hilight_notice.pl create mode 100644 scripts/away_verbose.pl create mode 100644 scripts/awaybar.pl create mode 100644 scripts/awaylogcnt.pl create mode 100644 scripts/awayproxy.pl create mode 100644 scripts/babelirc.pl create mode 100644 scripts/badword.pl create mode 100644 scripts/ban.pl create mode 100644 scripts/bandwidth.pl create mode 100644 scripts/bantime.pl create mode 100644 scripts/beep.pl create mode 100644 scripts/beep_beep.pl create mode 100644 scripts/beepaway.pl create mode 100644 scripts/bestoiber.pl create mode 100644 scripts/bgta.pl create mode 100644 scripts/binary.pl create mode 100644 scripts/binary_time.pl create mode 100644 scripts/bitlbee_blist.pl create mode 100644 scripts/bitlbee_join_notice-pre-3.0.pl create mode 100644 scripts/bitlbee_join_notice.pl create mode 100644 scripts/bitlbee_nick_change-pre-3.0.pl create mode 100644 scripts/bitlbee_nick_change.pl create mode 100644 scripts/bitlbee_tab_completion.pl create mode 100644 scripts/bitlbee_timestamp.pl create mode 100644 scripts/bitlbee_typing_notice-pre-3.0.pl create mode 100644 scripts/bitlbee_typing_notice.pl create mode 100644 scripts/blowjob.pl create mode 100644 scripts/bmi.pl create mode 100644 scripts/buf.pl create mode 100644 scripts/calc.pl create mode 100644 scripts/callerid.pl create mode 100644 scripts/cddb.pl create mode 100644 scripts/centericq.pl create mode 100644 scripts/cgrep.pl create mode 100644 scripts/chanact.pl create mode 100644 scripts/chanfull.pl create mode 100644 scripts/chanfull_duden.pl create mode 100644 scripts/chanpeak.pl create mode 100644 scripts/chansearch.pl create mode 100644 scripts/chanshare.pl create mode 100644 scripts/chansort.pl create mode 100644 scripts/chansync.pl create mode 100644 scripts/chops.pl create mode 100644 scripts/cleanpublic.pl create mode 100644 scripts/clipboard.pl create mode 100644 scripts/cloneprot.pl create mode 100644 scripts/clones.pl create mode 100644 scripts/colorkick.pl create mode 100644 scripts/colorswap.pl create mode 100644 scripts/complete_lastspoke.pl create mode 100644 scripts/connectcmd.pl create mode 100644 scripts/countdown.pl create mode 100644 scripts/country.pl create mode 100644 scripts/cp1250_kick.pl create mode 100644 scripts/crapbuster.pl create mode 100644 scripts/cron.pl create mode 100644 scripts/cwho.pl create mode 100644 scripts/dancer_forwardfix.pl create mode 100644 scripts/dancer_hide_477.pl create mode 100644 scripts/dau.pl create mode 100644 scripts/dcc_ip.pl create mode 100644 scripts/dccmove.pl create mode 100644 scripts/dccself.pl create mode 100644 scripts/dccstat.pl create mode 100644 scripts/defaultchanmode.pl create mode 100644 scripts/dejunk.pl create mode 100644 scripts/deliciousurl.pl create mode 100644 scripts/df.pl create mode 100644 scripts/dice.pl create mode 100644 scripts/dictcomplete.pl create mode 100644 scripts/dispatch.pl create mode 100644 scripts/dns.pl create mode 100644 scripts/dnsspam.pl create mode 100644 scripts/doc.pl create mode 100644 scripts/doublefilter.pl create mode 100644 scripts/dr_who.pl create mode 100644 scripts/efnetorg.pl create mode 100644 scripts/elist.pl create mode 100644 scripts/eliza.pl create mode 100644 scripts/email_privmsgs.pl create mode 100644 scripts/emaildb1.0.pl create mode 100644 scripts/eng_no_translate_dpryo.pl create mode 100644 scripts/events.pl create mode 100644 scripts/exec_clean.pl create mode 100644 scripts/extaway.pl create mode 100644 scripts/fakectcp.pl create mode 100644 scripts/fcountry.pl create mode 100644 scripts/figlet.pl create mode 100644 scripts/file.pl create mode 100644 scripts/find.pl create mode 100644 scripts/findbot.pl create mode 100644 scripts/fleech.pl create mode 100644 scripts/follow.pl create mode 100644 scripts/foo.pl create mode 100644 scripts/foreach_user.pl create mode 100755 scripts/format_identify.pl create mode 100644 scripts/fortune.pl create mode 100644 scripts/forward.pl create mode 100644 scripts/freenode_filter.pl create mode 100644 scripts/friends_peder.pl create mode 100644 scripts/friends_shasta.pl create mode 100644 scripts/fserve.pl create mode 100644 scripts/fuckem.pl create mode 100644 scripts/getop.pl create mode 100644 scripts/gimmie.pl create mode 100644 scripts/go.pl create mode 100644 scripts/go2.pl create mode 100644 scripts/google.pl create mode 100644 scripts/gpgvalidator.pl create mode 100644 scripts/grep.pl create mode 100644 scripts/gsi.pl create mode 100644 scripts/gtrans.pl create mode 100644 scripts/guts.pl create mode 100644 scripts/hddtemp.pl create mode 100644 scripts/hello.pl create mode 100644 scripts/hide.pl create mode 100644 scripts/hideauth.pl create mode 100644 scripts/highlite.pl create mode 100644 scripts/hignore.pl create mode 100644 scripts/hilightwin.pl create mode 100644 scripts/hipchat_complete.pl create mode 100644 scripts/history_search.pl create mode 100644 scripts/hitcount.pl create mode 100644 scripts/hl.pl create mode 100644 scripts/hlbot.pl create mode 100644 scripts/hostname.pl create mode 100644 scripts/iMPD.pl create mode 100644 scripts/identify-md5.pl create mode 100644 scripts/idletime.pl create mode 100644 scripts/idonkey.pl create mode 100644 scripts/ignore_log.pl create mode 100644 scripts/ignoreoc.pl create mode 100644 scripts/ignorsula.pl create mode 100644 scripts/il.pl create mode 100644 scripts/imdb.pl create mode 100644 scripts/intjoin.pl create mode 100644 scripts/invitejoin.pl create mode 100644 scripts/ipupdate.pl create mode 100644 scripts/iraident.pl create mode 100644 scripts/irc_chess.pl create mode 100644 scripts/irccomplete.pl create mode 100644 scripts/ircgallery.pl create mode 100644 scripts/ircgmessagenotify.pl create mode 100644 scripts/ircops.pl create mode 100644 scripts/ircsec.pl create mode 100644 scripts/irssi-feed.pl create mode 100644 scripts/irssiBlaster.pl create mode 100644 scripts/irssiq.pl create mode 100644 scripts/isdn.pl create mode 100644 scripts/itime.pl create mode 100644 scripts/ixmmsa.pl create mode 100644 scripts/joininfo.pl create mode 100644 scripts/kblamehost.pl create mode 100644 scripts/keepnick.pl create mode 100644 scripts/kenny.pl create mode 100644 scripts/kernel.pl create mode 100644 scripts/keybinds.pl create mode 100644 scripts/kicks.pl create mode 100644 scripts/kill_fake_gets.pl create mode 100644 scripts/kills.pl create mode 100644 scripts/kline_warning.pl create mode 100644 scripts/l33tmusic.pl create mode 100644 scripts/lastfm.pl create mode 100644 scripts/lastspoke.pl create mode 100644 scripts/len.pl create mode 100644 scripts/leodict.pl create mode 100644 scripts/licq.pl create mode 100644 scripts/linkchan.pl create mode 100644 scripts/listen.pl create mode 100644 scripts/loadavg.pl create mode 100644 scripts/localize.pl create mode 100644 scripts/log2ansi.pl create mode 100644 scripts/logcompress.pl create mode 100644 scripts/ls.pl create mode 100644 scripts/lwho.pl create mode 100644 scripts/mail.pl create mode 100644 scripts/mailcheck_imap.pl create mode 100644 scripts/mailcheck_mbox_flux.pl create mode 100644 scripts/mailcheck_pop3_kimmo.pl create mode 100644 scripts/mailcount.pl create mode 100644 scripts/mangle.pl create mode 100644 scripts/map.pl create mode 100644 scripts/mass_hilight_blocker.pl create mode 100644 scripts/mg.pl create mode 100644 scripts/miodek.pl create mode 100644 scripts/mirc_colour_popup.pl create mode 100644 scripts/mkick.pl create mode 100644 scripts/mkshorterlink.pl create mode 100644 scripts/mldonkey_bandwidth.pl create mode 100644 scripts/mlock.pl create mode 100644 scripts/modelist-r.pl create mode 100644 scripts/modelist.pl create mode 100644 scripts/monitor.pl create mode 100644 scripts/mood.pl create mode 100644 scripts/morse.pl create mode 100644 scripts/mouse.pl create mode 100644 scripts/mpd.pl create mode 100644 scripts/mpg123.pl create mode 100644 scripts/multipaste.pl create mode 100644 scripts/my_beep.pl create mode 100644 scripts/mygoogle.pl create mode 100644 scripts/myimdb.pl create mode 100644 scripts/mysqlurllogger.pl create mode 100644 scripts/nact.pl create mode 100644 scripts/netswitch.pl create mode 100644 scripts/news.pl create mode 100644 scripts/newsline.pl create mode 100644 scripts/nickban.pl create mode 100644 scripts/nickcolor.pl create mode 100644 scripts/nickignore.pl create mode 100644 scripts/nicklist.pl create mode 100644 scripts/nickmix-c0ffee.pl create mode 100644 scripts/nickmix_pasky.pl create mode 100644 scripts/nickserv.pl create mode 100644 scripts/niq.pl create mode 100644 scripts/nm.pl create mode 100644 scripts/nocaps.pl create mode 100644 scripts/nocollide.pl create mode 100644 scripts/noisyquery.pl create mode 100644 scripts/nopl.pl create mode 100644 scripts/norepeat.pl create mode 100644 scripts/notes.pl create mode 100644 scripts/noteserve.pl create mode 100644 scripts/noticemove.pl create mode 100644 scripts/notonline.pl create mode 100644 scripts/null.pl create mode 100644 scripts/ogg123.pl create mode 100644 scripts/oidenty.pl create mode 100644 scripts/on.pl create mode 100644 scripts/ontv.pl create mode 100644 scripts/oops.pl create mode 100644 scripts/openurl.pl create mode 100644 scripts/operit.pl create mode 100644 scripts/operview.pl create mode 100644 scripts/opnotice.pl create mode 100644 scripts/opnotify.pl create mode 100644 scripts/orphamp.pl create mode 100644 scripts/osd.pl create mode 100644 scripts/ownage.pl create mode 100644 scripts/page-c0ffee.pl create mode 100644 scripts/page_reeler.pl create mode 100644 scripts/pager.pl create mode 100644 scripts/paste-derwan.pl create mode 100644 scripts/paste_derwan.pl create mode 100644 scripts/paste_huggie.pl create mode 100644 scripts/paste_kimmoke.pl create mode 100644 scripts/pelix.pl create mode 100644 scripts/people.pl create mode 100644 scripts/per_window_prompt.pl create mode 100644 scripts/pggb_sound.pl create mode 100644 scripts/poison.pl create mode 100644 scripts/postpone.pl create mode 100644 scripts/ppl.pl create mode 100644 scripts/q_username.pl create mode 100644 scripts/query.pl create mode 100644 scripts/queryresume.pl create mode 100644 scripts/quitmsg.pl create mode 100644 scripts/quitrand.pl create mode 100644 scripts/quiz.pl create mode 100644 scripts/quizgr.pl create mode 100644 scripts/quizmaster-fr.pl create mode 100644 scripts/quizmaster.pl create mode 100644 scripts/rainbow.pl create mode 100644 scripts/randaway.pl create mode 100644 scripts/randname.pl create mode 100644 scripts/redirect.pl create mode 100644 scripts/relm.pl create mode 100644 scripts/remote.pl create mode 100644 scripts/reorder.pl create mode 100644 scripts/repeat.pl create mode 100644 scripts/resize_split.pl create mode 100644 scripts/rhythmbox.pl create mode 100644 scripts/rk.pl create mode 100644 scripts/romaji.pl create mode 100644 scripts/romajibind.pl create mode 100644 scripts/rot13.pl create mode 100644 scripts/rotator.pl create mode 100644 scripts/sana_cmd.pl create mode 100644 scripts/schwaebisch.pl create mode 100644 scripts/screen_away.pl create mode 100644 scripts/scriptassist.pl create mode 100644 scripts/scripthelp.pl create mode 100644 scripts/scriptinfo.pl create mode 100644 scripts/scrmable.pl create mode 100644 scripts/scroller.pl create mode 100644 scripts/securemsg.pl create mode 100644 scripts/seen.pl create mode 100644 scripts/servercomplete.pl create mode 100644 scripts/seti.pl create mode 100644 scripts/shortenurl.pl create mode 100644 scripts/shorturl.pl create mode 100644 scripts/showhilight.pl create mode 100644 scripts/showhost.pl create mode 100644 scripts/showmode.pl create mode 100644 scripts/smiley.pl create mode 100644 scripts/sms.pl create mode 100644 scripts/snmpup.pl create mode 100644 scripts/spambot.pl create mode 100644 scripts/special_complete.pl create mode 100644 scripts/spell.pl create mode 100644 scripts/spellcheck.pl create mode 100644 scripts/sping.pl create mode 100644 scripts/splitlong.pl create mode 100644 scripts/stocks.pl create mode 100644 scripts/studivz_bitlbee_rename.pl create mode 100644 scripts/synccheck.pl create mode 100644 scripts/sysinfo270-irssi.pl create mode 100644 scripts/sysinfo277-irssi.pl create mode 100644 scripts/sysinfo_dg.pl create mode 100644 scripts/sysinfo_juerd.pl create mode 100644 scripts/sysinfoplus.pl create mode 100644 scripts/tab_stop.pl create mode 100644 scripts/talk.pl create mode 100644 scripts/target.pl create mode 100644 scripts/thankop.pl create mode 100644 scripts/thistory.pl create mode 100644 scripts/timer.pl create mode 100644 scripts/timezones.pl create mode 100644 scripts/tinyurl.pl create mode 100644 scripts/title.pl create mode 100644 scripts/tlock.pl create mode 100644 scripts/topics.pl create mode 100644 scripts/topicsed.pl create mode 100644 scripts/tordetect.pl create mode 100644 scripts/trackbar.pl create mode 100644 scripts/tracknick.pl create mode 100644 scripts/translit.pl create mode 100644 scripts/trigger.pl create mode 100644 scripts/trustweb.pl create mode 100644 scripts/tvmusor.pl create mode 100644 scripts/twprompt.pl create mode 100644 scripts/twsocials.pl create mode 100644 scripts/twtopic.pl create mode 100644 scripts/u.pl create mode 100644 scripts/upgradeinfo.pl create mode 100644 scripts/upsidedown.pl create mode 100644 scripts/uptime.pl create mode 100644 scripts/url_log.pl create mode 100644 scripts/urlfeed.pl create mode 100644 scripts/urlgrab.pl create mode 100644 scripts/urlplot.pl create mode 100644 scripts/usercount.pl create mode 100644 scripts/userhost.pl create mode 100644 scripts/users.pl create mode 100644 scripts/version-stat.pl create mode 100644 scripts/verstats.pl create mode 100644 scripts/vowels.pl create mode 100644 scripts/wa.pl create mode 100644 scripts/warnkick.pl create mode 100644 scripts/washnicks.pl create mode 100644 scripts/watch.pl create mode 100644 scripts/weather.pl create mode 100644 scripts/whitelist.pl create mode 100644 scripts/whois.pl create mode 100644 scripts/whois_hexip.pl create mode 100644 scripts/whos.pl create mode 100644 scripts/wilm.pl create mode 100644 scripts/window_switcher.pl create mode 100644 scripts/wisestamp.pl create mode 100644 scripts/wkb.pl create mode 100644 scripts/wlstat.pl create mode 100644 scripts/wordcompletition.pl create mode 100644 scripts/wordscramble.pl create mode 100644 scripts/xauth.pl create mode 100644 scripts/xcmd.pl create mode 100644 scripts/xdccget.pl create mode 100644 scripts/xetra.pl create mode 100644 scripts/xlist.pl create mode 100644 scripts/xmms.pl create mode 100644 scripts/xmms2.pl create mode 100644 scripts/xmmsinfo.pl create mode 100644 scripts/xqf.pl (limited to 'scripts') diff --git a/scripts/8-ball.pl b/scripts/8-ball.pl new file mode 100644 index 0000000..04564a7 --- /dev/null +++ b/scripts/8-ball.pl @@ -0,0 +1,124 @@ +#8-ball / decision ball +# +#What is this? +# +#The 8-ball (Eight-ball) is a decision ball which i bought +#in a gadget shop when i was in London. I then came up with +#the idea to make an irc-version of this one :) +#There are 16 possible answers that the ball may give you. +# +# +#usage +# +#Anyone in the same channel as the one who runs this script may +#write "8-ball: question ?" without quotes and where question is +#a question to ask the 8-ball. +#An answer is given randomly. The possible answers are the exact +#same answers that the real 8-ball gives. +# +#Write "8-ball" without quotes to have the the ball tell you +#how money questions it've got totally. +# +#Write "8-ball version" without quotes to have him tell what +#his version is. +# +# +use strict; +use vars qw($VERSION %IRSSI); + +use Irssi qw(command_bind signal_add); +use IO::File; +$VERSION = '0.20'; +%IRSSI = ( + authors => 'Patrik Jansson', + contact => 'gein@knivby.nu', + name => '8-ball', + description => 'Dont like to take decisions? Have the 8-ball do it for you instead.', + license => 'GPL', +); + +sub own_question { + my ($server, $msg, $target) = @_; + question($server, $msg, "", $target); +} + +sub public_question { + my ($server, $msg, $nick, $address, $target) = @_; + question($server, $msg, $nick.": ", $target); +} +sub question($server, $msg, $nick, $target) { + my ($server, $msg, $nick, $target) = @_; + $_ = $msg; + if (!/^8-ball/i) { return 0; } + + if (/^8-ball:.+\?$/i) { + my $ia = int(rand(16)); + my $answer = ""; + SWITCH: { + if ($ia==0) { $answer = "Yes"; last SWITCH; } + if ($ia==1) { $answer = "No"; last SWITCH; } + if ($ia==2) { $answer = "Outlook so so"; last SWITCH; } + if ($ia==3) { $answer = "Absolutely"; last SWITCH; } + if ($ia==4) { $answer = "My sources say no"; last SWITCH; } + if ($ia==5) { $answer = "Yes definitely"; last SWITCH; } + if ($ia==6) { $answer = "Very doubtful"; last SWITCH; } + if ($ia==7) { $answer = "Most likely"; last SWITCH; } + if ($ia==8) { $answer = "Forget about it"; last SWITCH; } + if ($ia==9) { $answer = "Are you kidding?"; last SWITCH; } + if ($ia==10) { $answer = "Go for it"; last SWITCH; } + if ($ia==11) { $answer = "Not now"; last SWITCH; } + if ($ia==12) { $answer = "Looking good"; last SWITCH; } + if ($ia==13) { $answer = "Who knows"; last SWITCH; } + if ($ia==14) { $answer = "A definite yes"; last SWITCH; } + if ($ia==15) { $answer = "You will have to wait"; last SWITCH; } + if ($ia==16) { $answer = "Yes, in due time"; last SWITCH; } + if ($ia==17) { $answer = "I have my doubts"; last SWITCH; } + } + $server->command('msg '.$target.' '.$nick.'8-ball says: '.$answer); + + my ($fh, $count); + $fh = new IO::File; + $count = 0; + if ($fh->open("< .8-ball")){ + $count = <$fh>; + $fh->close; + } + $count++; + $fh = new IO::File; + if ($fh->open("> .8-ball")){ + print $fh $count; + $fh->close; + }else{ + print "Couldn't open file for output. The value $count couldn't be written."; + return 1; + } + return 0; + } elsif (/^8-ball$/i) { + + my ($fh, $count); + $fh = new IO::File; + $count = 0; + if ($fh->open("< .8-ball")){ + $count = <$fh>; + $server->command('msg '.$target.' 8-ball says: I\'ve got '.$count.' questions so far.'); + $fh->close; + }else{ + print "Couldn't open file for input"; + return 1; + } + return 0; + + } elsif (/^8-ball version$/i){ + $server->command('msg '.$target.' My version is: '.$VERSION); + return 0; + } else { + if(!/^8-ball says/i){ + $server->command('msg '.$target.' '.$nick.'A question please.'); + return 0; + } + } + +} + +signal_add("message public", "public_question"); +signal_add("message own_public", "own_question"); diff --git a/scripts/Cirssi.pl b/scripts/Cirssi.pl new file mode 100644 index 0000000..947a373 --- /dev/null +++ b/scripts/Cirssi.pl @@ -0,0 +1,722 @@ +use strict; +use vars qw($VERSION %IRSSI); +# Consolidate Irssi Player +# +# Copyright (C) 2009 Dani Soufi +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +# Change Log: +# v2.0.0: +# - Start/Play(Toggle)/Stop/Pause/Unpause/Next/Previous/Volume MOC Player control functions are added. +# - MOC Player support is implemented. +# v1.1.2: +# - The script is now meant to be a bit more intelligent in dealing with song tags and different user song display settings. +# - Display album name in --details if it exists. +# v1.1.0: +# - Script's name is renamed to Consolidate Irssi Player on global basis to expand it's use in the future. +# - Removed cmd_shuffle{} and cmd_repeat{} functions since they aren't supported anymore by Audacious2. +# - Added use --details flag for bitrate and frequency details in current playing song. +# - Added Jump to specific song in the playing list according to track number. +# - Added Volume control support from Irssi. +# - Updated the script to work with the newest Audacious v2 and audtool2 available. +# v1.0.4: +# - Added Repeat on/off capability +# - Added Shuffle on/off capability +# - Fixed script output handling for audacious version in case audacious isn't running +# - If encountered a problem with audacious version, try changing `audacious --version` to `audtool -v` +# v1.0.3: +# - Added Playlist functionality +# - Added Song details (Bitrate/Frequency/Length/Volume) +# - Current song notice with song details (Optional) +# v1.0.2: +# - The script now handles warning support if you got audacious not running +# - Added track number, current time elapse and total track time +# - Added Stop functionality +# v1.0.1: +# - Added ability to autonotify the channel after skipping a song (optional) +# - Added Skip/Play/Pause/Resume calls +# +# How To Use? +# Copy your script into ~/.irssi/scripts/ directory +# Load your script with /script load audacious in your Irssi Client +# Type '/audacious help' in any channel for script commands +# For autoload insert your script into ~/.irssi/scripts/autorun/ directory +# Even better would be if you placed them in ~/.irssi/scripts/ and created symlinks in autorun directory +# +use Irssi; +use IPC::Open3; + +$VERSION = '2.0.0'; +%IRSSI = ( + authors => "Dani Soufi (compengi)", + contact => "IRC: Freenode network, #ubuntu-lb", + name => "Consolidate Irssi Player", + description => "Controls Audacious2 and MOCP from Irssi", + license => "GNU General Public License", + url => "http://bazaar.launchpad.net/~compengi/%2Bjunk/Cirssi/annotate/head%3A/Cirssi.pl", + changed => "Thu Aug 14 22:43 CET 2009", +); + +################################################################################# +# Please do not change anything below this, unless you know what you are doing. # +################################################################################# + +sub cmd_aud_song { + my ($data, $server, $witem) = @_; + # Get current song information. + if ($witem && ($witem->{type} eq "CHANNEL")) { + + # Read output. + my ( $wtr, $rdr, $err ); + my $pid = open3( $wtr, $rdr, $err, + 'audtool2', '--current-song-tuple-data', 'file-name') or die $!; + + # Make it global. + my $file; + { + local $/; + $file = <$rdr>; + $file =~ s/\.(?i:mp3|cda|aa3|ac3|aif|ape|med|mpu|wave|mpc|oga|wma|ogg|wav|aac|flac)\n//; + } + + if ($data ne "--details") { + if (`ps -C audacious2` =~ /audacious/) { + my $position = `audtool2 --playlist-position`; + # I'm the most nasty variable ever. + my $song = `audtool2 --current-song`; + my $current = `audtool2 --current-song-output-length`; + my $total = `audtool2 --current-song-length`; + my $artist = `audtool2 --current-song-tuple-data artist`; + my $album = `audtool2 current-song-tuple-data album`; + my $title = `audtool2 --current-song-tuple-data title`; + chomp($song); + chomp($position); + chomp($current); + chomp($total); + chomp($artist); + chomp($album); + chomp($title); + + # If we notice that the user sorted his playlist + # by song title, we will try to be nice and parse + # the existing artist for him. + if ($song !~ /$artist/) { + # If $song is different from $album, + # we add the artist to output line. + # Else strip the album from $song. + if ($song !~ /$album/) { + # If we have no song tags, $song will be set to the file's name. + # In this case, we drop the file's extension know to us and print it. + if ($song =~ /$file/) { + $witem->command("/me is listening to: $file ($current/$total)"); + } + else { + $witem->command("/me is listening to: $artist - $song ($current/$total)"); + } + } + else { + $song =~ s/$album - //im; + $witem->command("/me is listening to: $artist - $song ($current/$total)"); + } + } + else { + $witem->command("/me is listening to: $artist - $title ($current/$total)"); + } + } + else { + $witem->print("Audacious is not currently running."); + } + } + if ($data eq "--details") { + # Show more details in the output. + if (`ps -C audacious2` =~ /audacious/) { + my $position = `audtool2 --playlist-position`; + # I'm a nasty variable. + my $song = `audtool2 --current-song`; + my $current = `audtool2 --current-song-output-length`; + my $total = `audtool2 --current-song-length`; + my $bitrate = `audtool2 --current-song-bitrate-kbps`; + my $frequency = `audtool2 --current-song-frequency-khz`; + my $album = `audtool2 current-song-tuple-data album`; + my $artist = `audtool2 --current-song-tuple-data artist`; + my $title = `audtool2 --current-song-tuple-data title`; + chomp($song); + chomp($position); + chomp($current); + chomp($total); + chomp($bitrate); + chomp($frequency); + chomp($album); + chomp($artist); + chomp($title); + + # Check against an empty string. + # If it's empty, we don't print it. + if ($album ne "") { + # Make sure $song doesn't match $artist. + # Else we print the $song as it is. + if ($song !~ /$artist/) { + # If $song is different from $album, + # we add the artist to output line. + # Else strip the album from $song. + if ($song !~ /$album/) { + if ($song =~ /$file/) { + $witem->command("/me is listening to: $artist - $song from $album ($current/$total) [$bitrate Kbps/$frequency KHz]"); + } + } + else { + $witem->command("/me is listening to: $artist - $title from $album ($current/$total) [$bitrate Kbps/$frequency KHz]"); + } + } + elsif ($song =~ /\[ $album \]/) { + $witem->command("/me is listening to: $artist - $title from $album ($current/$total) [$bitrate Kbps/$frequency KHz]"); + } + else { + $song =~ s/$album - //im; + $witem->command("/me is listening to: $song from $album ($current/$total) [$bitrate Kbps/$frequency KHz]"); + } + } + elsif ($song =~ /$file/) { + $witem->command("/me is listening to: $file ($current/$total) [$bitrate Kbps/$frequency KHz]"); + } + else { + $witem->command("/me is listening to: $artist - $title ($current/$total) [$bitrate Kbps/$frequency KHz]"); + } + } + else { + $witem->print("Audacious is not currently running."); + } + } + return 1; + } +} + +sub cmd_aud_next { + my ($data, $server, $witem) = @_; + # Skip to the next track. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + my $next = `audtool2 --playlist-advance`; + + $witem->print("Skipped to next track."); + } + else { + $witem->print("Can't skip to next track. Check your Audacious."); + } + return 1; + } +} + +sub cmd_aud_previous { + my ($data, $server, $witem) = @_; + # Skip to the previous track. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + my $reverse = `audtool2 --playlist-reverse`; + + $witem->print("Skipped to previous track."); + } + else { + $witem->print("Can't skip to next track. Check your Audacious."); + } + return 1; + } +} + +sub cmd_aud_play { + my ($data, $server, $witem) = @_; + # Start playback. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + my $play = `audtool2 --playback-play`; + + $witem->print("Started playback."); + } + else { + $witem->print("Playback can't be performed now."); + } + return 1; + } +} + +sub cmd_aud_pause { + my ($data, $server, $witem) = @_; + # Pause playback. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + my $pause = `audtool2 --playback-pause`; + + $witem->print("Paused playback."); + } + else { + $witem->print("Pause can be only performed when Audacious is running."); + } + return 1; + } +} + +sub cmd_aud_stop { + my ($data, $server, $witem) = @_; + # Pause playback. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + my $stop = `audtool2 --playback-stop`; + + $witem->print("Stopped playback."); + } + else { + $witem->print("This way you can't start Audacious."); + } + return 1; + } +} + +sub cmd_aud_volume { + my ($data, $server, $witem) = @_; + # Set volume and make sure the value is an integer + # that lays between 0 and 100. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + + if ($data eq "") { + $witem->print("Use /audacious volume to set a specific volume value"); + } + elsif ($data < 0 or $data > 100) { + $witem->print("Given value is out of range [0-100]."); + return 0; + } + elsif ($data =~ /^[\d]+$/) { + system 'audtool2','--set-volume', $data; + my $volume = `audtool2 --get-volume`; + chomp($volume); + $witem->print("Volume is changed to $volume%%"); + } + else { + $witem->print("Please use a value [0-100] instead."); + } + } + else { + $witem->print("Volume can't be set in the current state."); + } + return 1; + } +} + +sub cmd_aud_jump { + my ($data, $server, $witem) = @_; + # Jump to a specific track, making sure that + # the selected track number exists. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + + if ($data eq "") { + $witem->print("Use /audacious jump number to jump to it in your playlist."); + } + elsif ($data =~ /^[\d]+$/) { + # Many thanks to Khisanth for this awesome fix! + my ( $wtr, $rdr, $err ); + my $pid = open3( $wtr, $rdr, $err, + 'audtool2', '--playlist-jump', $data) or die $!; + my $output; + { + local $/; + $output = <$rdr>; + } + if ($output =~ /invalid/) { + $witem->print("Track #$data isn't found in your playlist."); + } + else { + $witem->print("Jumped to track #$data."); + } + } + else { + $witem->print("Please use a valid integer."); + } + } + else { + $witem->print("Start your audacious first."); + } + return 1; + } +} + +sub cmd_aud_playlist { + my ($data, $server, $witem) = @_; + # Displays entire playlist loaded. + if (`ps -C audacious2` =~ /audacious/) { + my $display = `audtool2 --playlist-display`; + chomp($display); + + Irssi::print("$display"); + } + else { + $witem->print("Start your player first."); + } + return 1; +} + +sub cmd_aud_details { + my ($data, $server, $witem) = @_; + # Displays current song's details. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if (`ps -C audacious2` =~ /audacious/) { + my $bitrate = `audtool2 --current-song-bitrate-kbps`; + my $frequency = `audtool2 --current-song-frequency-khz`; + my $length = `audtool2 --current-song-length`; + my $volume = `audtool2 --get-volume`; + chomp($bitrate); + chomp($frequency); + chomp($length); + chomp($volume); + + $witem->print("Current song details: rate: $bitrate kbps - freq: $frequency KHz - l: $length min - vol: $volume%%"); + } + else { + $witem->print("Your player doesn't seem to be running"); + } + return 1; + } +} + +sub cmd_aud_version { + my ($data, $server, $witem) = @_; + # Displays version information to the channel. + if ($witem && ($witem->{type} eq "CHANNEL")) { + if ($data eq "--audtool") { + my $audtool = `audtool2 --version`; + chop $audtool; + + $witem->command("/me is running: Consolidate Irssi Player v$VERSION with $audtool"); + } + elsif ($data eq "--audacious") { + my $audacious = `audacious2 --version`; + chop $audacious; + + $witem->command("/me is running: Consolidate Irssi Player v$VERSION with $audacious"); + } + return 1; + } +} + +sub cmd_audacious { + my ($data, $server, $witem) = @_; + if ($data =~ m/^[(song)|(next)|(previous)|(play)|(pause)|(stop)|(help)|(volume)|(jump)|(playlist)|(details)|(about)]/i) { + Irssi::command_runsub('audacious', $data, $server, $witem); + } + else { + Irssi::print("Use /audacious