ii - IRC it or IRC improved
SYNOPSIS
ii [-d directory] [-f realname] [-i prefix] [-k password] [-n nickname]
[-p port] [-s servername]
DESCRIPTION
ii is a minimalistic FIFO and file system based IRC client. Upon
connection, it creates an IRC directory prefix which contains the server
directory that can be overridden by directory. Beyond the path, inside
the server directory, there are channel and nickname directories together
with a FIFO file named "ii" and a regular one called "out". These two
latter files do also occur inside each channel and nickname directory,
which themselves are created upon joining a channel or opening of a
private conversation.
The FIFO files "in" are used to communicate with the server, while the
regular "out" files carry the server messages. If the data sent to an
"in" file is not an IRC command, in other words not starting with a slash
"/", it will be interpreted as a regular message (PRIVMSG) which later
pops up in the "out" file in the same directory level.
The idea of this file system structure, is to be able to communicate with
an IRC server using basic command line tools. For example, if the
desired action is to join a channel, the command echo /j #channel > in
will do the trick no matter which "in" FIFO file it is addressed to, as
long as the file is in use by the current instance of ii. For more
information about available commands, see further down in this section.
The arguments are as follows, with the default value enclosed within
brackets:
-d directory
Overrides the servername part within the directory structure that
ii creates.
-f realname
The real name that is to be associated with the nickname.
-i prefix
The directory in which ii will create its server directory.
(irc)
-k password
A password used to authenticate the nickname with the server. Be
aware of the problem that it will be visible in the process list.
If this is not a desired side-effect, then simply use a query to
submit the password.
-n nickname
The used nickname during the IRC session. This is of course also
possible to change in a later stage by querying the server using
the /n command. (anonymous)
-p port
The port that ii will connect to on the specific servername.
(6667)
-s servername
The server to which ii will connect. (irc.freenode.net)
The commands that ii understands are as follows:
/a [message]
Used in order to mark oneself as away. The server will send the
message automatically in reply to a PRIVMSG directed at the user
(you). If message is omitted, the away status is removed.
/j #channel/nickname [message]/message
Join a channel or open a private conversation with another user
having the nick nickname. If the purpose is to join a channel,
then the message is meaning the key that is needed in order to
join the password protected channel. When opening a private
conversation, then the message (compulsory) is sent to the
nickname as a PRIVMSG.
/l [comment]
Causes the user to leave the current channel with an optional
comment. This must be sent to the "in" FIFO file located within
the channel directory.
/n nickname
Change the nick to nickname.
/t [#channel] [topic]
Change the topic of the specified channel, or the current one if
omitted, to topic. If topic is skipped, the server will report
what the current topic is to the "out" file which is in the
server directory.
FILES
in The FIFO files "in" are used to communicate with the server.
irc Inside this directory is the server directory and within the last
one, there are channel and nickname directories together with a
FIFO file named "ii" and a regular one called "out". These two
latter files do also occur inside each channel and nickname
directory, which themselves are created upon joining a channel or
opening of a private conversation.
It is possible to override irc by specifying the prefix argument.
out These files carry the server messages.
SEE ALSO
echo(1), tail(1)
AUTHORS
Copyright (C) 2005-2006 by Anselm R. Garbe <garbeam (at) gmail (dot) com>
Copyright (C) 2005-2008 by Nico Golde <nico (at) ngolde (dot) de>
CAVEATS
ii cannot tell whether a specific user exists when the /j command is used
to open a private conversation. This means that it always succeeds if
the syntax is correct, even if nobody will receive the message. However,
the server will, in these cases, report when a specific user is not
available, so a check in the "out" file, in the server directory, works
as a solution to this problem.
wrapper - wraps ii(1) and allows execution on connect
SYNOPSIS
wrapper [-i ii arg] [-s sh arg] -- host1 port1 [host2 port2 ...]
DESCRIPTION
The wrapper utility randomly selects one pair of hosts and ports before
it passes the pair as arguments to ii(1) using system(3). Additional
arguments can be given to ii(1) by specifying them in ii arg. In case
ii(1) exits, this procedure is done all over again.
If sh arg is given, wrapper forks and then initializes ii(1). The child
process sleeps for 60 seconds (default) before passing sh arg to
system(3). This is useful in order to, for example, authenticate with
NickServ or rejoin IRC channels after a disconnection.
SEE ALSO
ii(1), sh(1), fork(3), sleep(3), system(3)
HISTORY
The development of wrapper began in the early 2011's with the first
version released on January 9, 2011 via http://repo.or.cz/w/iii.git.
CAVEATS
Notice that sh(1) meta-characters must be escaped in both ii arg and sh
arg and that the -s and -p flags of ii(1) have no effect in ii arg.
To prevent ii(1) from choosing different server directories as
connections are made to various hosts, pass it the -d flag. The argument
of the flag will override this part of the file path.
The manpages are from commit eea70aa4dbdde201cf938937d0fe500b17beb410.
For the latest ones, check the Git repository.
In order to contact Je, add your message to the file CONTACT in the
Git repository on the mob branch which is writable by everyone.