Services for IRC Networks (or just Services forshort) provides for definitive nickname andchannel ownership, automatic channel mode setting,memo (short message) storage and retrieval, andgreater IRC operator control over the network. License: GNU General Public License (GPL)Changes:
This release fixes a bug in the "rfc1459" protocol module preventing remote users from being recognized.
Hi,
I just started working on a script. After my research, i found a command which can help me:
AIM: To build a script which starts the services (Services 1) on server 1 automatically whenever its down. And it has a dependency on other service (Service 2) on Server 2.
So my script has to... (4 Replies)
I had a doubt if any services need to be restarted if port no in /etc/services in an RHEL setup is changed. For eg, the port no of 443 for SSL may need to be changed.
I hope my query is clear whether any services need to be restarted if port no in /etc/services is changed.
Please revert with... (10 Replies)
POE::Component::IRC::Cookbook::Translator(3pm) User Contributed Perl Documentation POE::Component::IRC::Cookbook::Translator(3pm)NAME
POE::Component::IRC::Cookbook::Translator - A bot that can translate text
SYNOPSIS
This bot uses POE::Component::Lingua::Translate to translate text for channel members. It makes use of the "BotCommand" plugin to handle
the translate command.
DESCRIPTION
#!/usr/bin/env perl
use strict;
use warnings;
use Encode qw(decode);
use Encode::Guess;
use IRC::Utils qw(decode_irc parse_user);
use POE;
use POE::Component::IRC::State;
use POE::Component::IRC::Plugin::AutoJoin;
use POE::Component::IRC::Plugin::BotCommand;
use POE::Component::Lingua::Translate;
POE::Session->create(
package_states => [
main => [ qw(_start irc_botcmd_trans translated) ]
],
heap => {
translators => { },
}
);
$poe_kernel->run();
sub _start {
my $heap = $_[HEAP];
my $irc = POE::Component::IRC::State->spawn(
Nick => 'translator_bot',
Server => 'irc.freenode.net',
);
$heap->{irc} = $irc;
$irc->plugin_add('AutoJoin', POE::Component::IRC::Plugin::AutoJoin->new(
Channels => [ '#test_channel1', '#test_channel2' ]
));
$irc->plugin_add('BotCommand', POE::Component::IRC::Plugin::BotCommand->new(
Commands => {
trans => 'Usage: trans <from>,<to> <text>'
}
));
$irc->yield(register => 'botcmd_trans');
$irc->yield('connect');
return;
}
sub irc_botcmd_trans {
my $heap = $_[HEAP];
my $irc = $heap->{irc};
my $nick = parse_user( $_[ARG0] );
my $channel = $_[ARG1];
my ($from, $to, $text) = split /,|s+/, $_[ARG2], 3;
if (!exists $heap->{translators}->{$from . $to}) {
eval {
$heap->{translators}->{$from . $to} = POE::Component::Lingua::Translate->new(
alias => $from . $to,
back_end => 'Babelfish',
src => $from,
dest => $to,
);
};
if ($@) {
$irc->yield(privmsg => $channel, "$nick: There was an error: $@");
return;
}
}
$poe_kernel->post($from . $to => translate =>
decode_irc($text),
{
channel => $channel,
nick => $nick,
}
);
return;
}
sub translated {
my $irc = $_[HEAP]->{irc};
my ($text, $context, $error) = @_[ARG0, ARG1, ARG2];
if ($error) {
$irc->yield(
'privmsg',
$context->{channel},
$context->{nick} . ": There was an error: $error",
);
return;
}
$irc->yield(
'privmsg',
$context->{channel},
$context->{nick} . ': ' . $text,
);
return;
}
AUTHOR
Hinrik Oern Sigur`sson, hinrik.sig@gmail.com
perl v5.14.2 2011-12-07 POE::Component::IRC::Cookbook::Translator(3pm)