… | |
… | |
33 | : () |
33 | : () |
34 | } |
34 | } |
35 | |
35 | |
36 | sub handle_fcmd { |
36 | sub handle_fcmd { |
37 | my ($name, $me, $msg) = @_; |
37 | my ($name, $me, $msg) = @_; |
38 | |
|
|
39 | utf8::decode $msg; |
|
|
40 | |
38 | |
41 | if ($msg eq "!who") { |
39 | if ($msg eq "!who") { |
42 | do_notice $_ |
40 | do_notice $_ |
43 | for ext::commands::who_listing (); |
41 | for ext::commands::who_listing (); |
44 | |
42 | |
… | |
… | |
78 | irc_privmsg => sub { |
76 | irc_privmsg => sub { |
79 | my ($con, $msg) = @_; |
77 | my ($con, $msg) = @_; |
80 | my $name = 'irc'; |
78 | my $name = 'irc'; |
81 | my $nick = Net::IRC3::Util::prefix_nick ($msg); |
79 | my $nick = Net::IRC3::Util::prefix_nick ($msg); |
82 | my $NOW = Time::HiRes::time; |
80 | my $NOW = Time::HiRes::time; |
|
|
81 | |
83 | my $tmsg = $msg->{trailing}; |
82 | my $tmsg = $msg->{trailing}; |
84 | $tmsg =~ s/\x01[^\x01]*\x01//g; |
83 | $tmsg =~ s/\x01[^\x01]*\x01//g; |
85 | $tmsg =~ s/\015?\012/ /g; |
84 | $tmsg =~ s/\015?\012/ /g; |
86 | utf8::encode $tmsg; # ->message not yet utf8-ified |
85 | |
|
|
86 | utf8::decode $tmsg; |
|
|
87 | |
87 | if ($tmsg =~ /^\!/) { |
88 | if ($tmsg =~ /^\!/) { |
88 | handle_fcmd ($name, $nick, $tmsg); |
89 | handle_fcmd ($name, $nick, $tmsg); |
89 | } elsif ($tmsg =~ m/\S/) { |
90 | } elsif ($tmsg =~ m/\S/) { |
90 | $_->ob->message ( |
91 | $_->ob->message ( |
91 | "$name/".$nick." chats: $tmsg", cf::NDI_BLUE |
92 | "$name/".$nick." chats: $tmsg", cf::NDI_BLUE |