X-Git-Url: http://git.ieval.ro/?p=poe-component-irc-plugin-hello.git;a=blobdiff_plain;f=lib%2FPOE%2FComponent%2FIRC%2FPlugin%2FHello.pm;h=aa3380609bb82916ca4a87831311b8ac597eef29;hp=eb83848eebcdce6b60367b1605f6292c002fc43d;hb=128b9459a22314c185c5ad188693352c616699ef;hpb=7ca2bb7c344615d1aa54c5f00e3922a406af3634 diff --git a/lib/POE/Component/IRC/Plugin/Hello.pm b/lib/POE/Component/IRC/Plugin/Hello.pm index eb83848..aa33806 100644 --- a/lib/POE/Component/IRC/Plugin/Hello.pm +++ b/lib/POE/Component/IRC/Plugin/Hello.pm @@ -3,6 +3,9 @@ package POE::Component::IRC::Plugin::Hello; use 5.014000; use strict; use warnings; +use utf8; +use Encode qw/encode decode/; + our $VERSION = '0.001002'; use List::Util qw/first/; @@ -38,10 +41,12 @@ sub S_public{ my ($self, $irc, $rfullname, $rchannels, $rmessage) = @_; my $nick = parse_user $$rfullname; my $mynick = $irc->nick_name; + my $message = decode 'UTF-8', $$rmessage; my @hello = @{$self->{greetings}}; - my $match = first { $$rmessage =~ /^\s*(?:$mynick(?:)[:,])?\s*$_\s*[.!]?\s*$/i } @hello; - $irc->yield(privmsg => $$rchannels->[0] => $hello[int rand $#hello].", $nick") if $match; + my $match = first { $message =~ /^\s*(?:$mynick(?:)[:,])?\s*$_\s*[.!]?\s*$/i } @hello; + my $randhello = encode 'UTF-8', $hello[int rand $#hello]; + $irc->yield(privmsg => $$rchannels->[0] => "$randhello, $nick") if $match; PCI_EAT_NONE }