|
| 1 | +use strict; |
| 2 | +use Encode; |
| 3 | +use vars qw($VERSION %IRSSI); |
| 4 | +use Irssi; |
| 5 | + |
| 6 | +our $VERSION = '0.1'; |
| 7 | +our %IRSSI = ( |
| 8 | + authors => 'Seth Galitzer', |
| 9 | + |
| 10 | + name => 'notcool', |
| 11 | + description => 'silly response to !cool', |
| 12 | + license => 'Public Domain', |
| 13 | +); |
| 14 | + |
| 15 | +sub handler { |
| 16 | + my ($server, $msg, $nick, $addr, $target, $priv) = @_; |
| 17 | + |
| 18 | + use utf8; |
| 19 | + $msg = decode_utf8 $msg; |
| 20 | + if ($msg =~ m/^!cool/) { |
| 21 | + $msg = encode_utf8("that is so not cool"); |
| 22 | + if ($priv) { |
| 23 | + $server->command ("msg $nick $msg"); |
| 24 | + } else { |
| 25 | + $server->command ("msg $target $msg"); |
| 26 | + } |
| 27 | + } |
| 28 | +} |
| 29 | + |
| 30 | +Irssi::signal_add_last('message public', sub { |
| 31 | + my ($server, $msg, $nick, $addr, $target) = @_; |
| 32 | + Irssi::signal_continue($server, $msg, $nick, $addr, $target); |
| 33 | + handler($server, $msg, $nick, $addr, $target); |
| 34 | +}); |
| 35 | + |
| 36 | +Irssi::signal_add_last('message private', sub { |
| 37 | + my ($server, $msg, $nick, $addr, $target) = @_; |
| 38 | + Irssi::signal_continue($server, $msg, $nick, $addr, $target); |
| 39 | + handler($server, $msg, $nick, $addr, $target, 1); |
| 40 | +}); |
| 41 | + |
0 commit comments