]> iEval git - poe-component-irc-plugin-hello.git/blobdiff - lib/POE/Component/IRC/Plugin/Hello.pm
Use Unicode::Normalize
[poe-component-irc-plugin-hello.git] / lib / POE / Component / IRC / Plugin / Hello.pm
index eb83848eebcdce6b60367b1605f6292c002fc43d..f559fd2e7be9fe000f9dc2b59789ca07d6611423 100644 (file)
@@ -3,6 +3,10 @@ package POE::Component::IRC::Plugin::Hello;
 use 5.014000;
 use strict;
 use warnings;
 use 5.014000;
 use strict;
 use warnings;
+use utf8;
+use Encode qw/encode decode/;
+use Unicode::Normalize qw/NFC/;
+
 our $VERSION = '0.001002';
 
 use List::Util qw/first/;
 our $VERSION = '0.001002';
 
 use List::Util qw/first/;
@@ -18,8 +22,10 @@ sub new {
                           hola hey hi bonjour wassup sup hallo chikmaa
                           tungjatjeta parev salam namaskaar mingalarba ahoy
                           saluton allo moin aloha namaste shalom ciào ciao servus
                           hola hey hi bonjour wassup sup hallo chikmaa
                           tungjatjeta parev salam namaskaar mingalarba ahoy
                           saluton allo moin aloha namaste shalom ciào ciao servus
-                          salve ave merhaba witaj hei hola selam sawubona/,
-                       "what's up", 'que tal', 'こんにちは', '你好', 'ni hao'],
+                          salve ave merhaba witaj hei hola selam sawubona
+                          geodemorgen hoi καλημέρα/,
+                       "what's up", 'que tal', 'こんにちは', '你好', 'ni hao',
+                       'добро јутро', 'γεια σας', 'bom dia', 'hyvää huomenta'],
                @_
        };
 
                @_
        };
 
@@ -38,10 +44,12 @@ sub S_public{
        my ($self, $irc, $rfullname, $rchannels, $rmessage) = @_;
        my $nick = parse_user $$rfullname;
        my $mynick = $irc->nick_name;
        my ($self, $irc, $rfullname, $rchannels, $rmessage) = @_;
        my $nick = parse_user $$rfullname;
        my $mynick = $irc->nick_name;
+       my $message = NFC decode 'UTF-8', $$rmessage;
        my @hello = @{$self->{greetings}};
 
        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
 }
 
        PCI_EAT_NONE
 }
 
This page took 0.017403 seconds and 4 git commands to generate.