Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ii(1) [debian man page]

ii(1)							      General Commands Manual							     ii(1)

NAME
ii - irc it or irc improved DESCRIPTION
ii is a minimalistic FIFO and filesystem based IRC client. It creates an irc directory tree with server, channel and nick name directo- ries. In every directory a FIFO file (in) and and normal file (out) is placed. This will be for example ~/irc/irc.freenode.net/. The in file is used to communicate with the servers and the out files includes the server messages. For every channel and every nick name there will be new in and out files. The basic idea of this is to be able to communicate with an IRC server with basic command line tools. For example if you will join a channel just do echo "/j #channel" > in and ii creates a new channel directory with in and out file. SYNOPSIS
ii [-s servername] [-p port] [-k password] [-i prefix] [-n nickname] [-f realname] OPTIONS
-s servername lets you override the default servername (irc.freenode.net) -p port lets you override the default port (6667) -k password lets you use a password to authenticate your nick on the server (be aware of the problem that this is visible in the process list, if you don't want this use a query to submit your password) -i prefix lets you override the default irc path (~/irc) -n nickname lets you override the default nick ($USER) -f realname lets you specify your real name associated with your nick DIRECTORIES
~/irc In this directory the irc tree will be created. In this directory you will find a directory for your server (default: irc.freen- ode.net) in which the FIFO and the output file will be stored. If you join a channel a new directory with the name of the channel will be created in the ~/irc/$servername/ directory. COMMANDS
/a [<message>] mark yourself as away /j #channel/nickname [<message>] join a channel or open private conversation with user /l #channel/nickname leave a channel or query /n nick change the nick name /t topic set the topic of a channel Everything which is not a command will simply be posted into the channel or to the server. So if you need /who just write /WHO as described in the RFC to the server in FIFO. out file usage Write wrappers, pagers or use your tools of choice to display the out file contents (loco, multitail, etc.). CONTACT
Write to ii (at) modprobe (dot) de for suggestions, fixes, 7|-|>< ;) etc. AUTHORS
Copyright (C) 2005-2006 by Anselm R. Garbe <garbeam (at) gmail (dot) com> and Copyright (C) 2005-2008 by Nico Golde <nico (at) ngolde (dot) de> SEE ALSO
echo(1), tail(1), ii(1)

Check Out this Related Man Page

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)
Man Page

Featured Tech Videos