Added README-repo_or_cz.html to the repository.
[iii.git] / doc / README-repo_or_cz.html
blob07cdf36c836a22e5938d13f9316195cd759d3a76
1 <h2>ii - IRC it or IRC improved</h2>
2 <pre>
3 SYNOPSIS
4 ii [-d directory] [-f realname] [-i prefix] [-k password] [-n nickname]
5 [-p port] [-s servername]
7 DESCRIPTION
8 ii is a minimalistic FIFO and file system based IRC client. Upon
9 connection, it creates an IRC directory prefix which contains the server
10 directory that can be overridden by directory. Beyond the path, inside
11 the server directory, there are channel and nickname directories together
12 with a FIFO file named "ii" and a regular one called "out". These two
13 latter files do also occur inside each channel and nickname directory,
14 which themselves are created upon joining a channel or opening of a
15 private conversation.
17 The FIFO files "in" are used to communicate with the server, while the
18 regular "out" files carry the server messages. If the data sent to an
19 "in" file is not an IRC command, in other words not starting with a slash
20 "/", it will be interpreted as a regular message (PRIVMSG) which later
21 pops up in the "out" file in the same directory level.
23 The idea of this file system structure, is to be able to communicate with
24 an IRC server using basic command line tools. For example, if the
25 desired action is to join a channel, the command echo /j #channel > in
26 will do the trick no matter which "in" FIFO file it is addressed to, as
27 long as the file is in use by the current instance of ii. For more
28 information about available commands, see further down in this section.
30 The arguments are as follows, with the default value enclosed within
31 brackets:
33 -d directory
34 Overrides the servername part within the directory structure that
35 ii creates.
37 -f realname
38 The real name that is to be associated with the nickname.
40 -i prefix
41 The directory in which ii will create its server directory.
42 (irc)
44 -k password
45 A password used to authenticate the nickname with the server. Be
46 aware of the problem that it will be visible in the process list.
47 If this is not a desired side-effect, then simply use a query to
48 submit the password.
50 -n nickname
51 The used nickname during the IRC session. This is of course also
52 possible to change in a later stage by querying the server using
53 the /n command. (anonymous)
55 -p port
56 The port that ii will connect to on the specific servername.
57 (6667)
59 -s servername
60 The server to which ii will connect. (irc.freenode.net)
62 The commands that ii understands are as follows:
64 /a [message]
65 Used in order to mark oneself as away. The server will send the
66 message automatically in reply to a PRIVMSG directed at the user
67 (you). If message is omitted, the away status is removed.
69 /j #channel/nickname [message]/message
70 Join a channel or open a private conversation with another user
71 having the nick nickname. If the purpose is to join a channel,
72 then the message is meaning the key that is needed in order to
73 join the password protected channel. When opening a private
74 conversation, then the message (compulsory) is sent to the
75 nickname as a PRIVMSG.
77 /l [comment]
78 Causes the user to leave the current channel with an optional
79 comment. This must be sent to the "in" FIFO file located within
80 the channel directory.
82 /n nickname
83 Change the nick to nickname.
85 /t [#channel] [topic]
86 Change the topic of the specified channel, or the current one if
87 omitted, to topic. If topic is skipped, the server will report
88 what the current topic is to the "out" file which is in the
89 server directory.
91 FILES
92 in The FIFO files "in" are used to communicate with the server.
94 irc Inside this directory is the server directory and within the last
95 one, there are channel and nickname directories together with a
96 FIFO file named "ii" and a regular one called "out". These two
97 latter files do also occur inside each channel and nickname
98 directory, which themselves are created upon joining a channel or
99 opening of a private conversation.
101 It is possible to override irc by specifying the prefix argument.
103 out These files carry the server messages.
105 SEE ALSO
106 echo(1), tail(1)
108 AUTHORS
109 Copyright (C) 2005-2006 by Anselm R. Garbe <garbeam (at) gmail (dot) com>
110 Copyright (C) 2005-2008 by Nico Golde <nico (at) ngolde (dot) de>
112 CAVEATS
113 ii cannot tell whether a specific user exists when the /j command is used
114 to open a private conversation. This means that it always succeeds if
115 the syntax is correct, even if nobody will receive the message. However,
116 the server will, in these cases, report when a specific user is not
117 available, so a check in the "out" file, in the server directory, works
118 as a solution to this problem.
119 </pre>
121 </br>
122 <h2>wrapper - wraps ii(1) and allows execution on connect</h2>
123 <pre>
124 SYNOPSIS
125 wrapper [-i ii arg] [-s sh arg] -- host1 port1 [host2 port2 ...]
127 DESCRIPTION
128 The wrapper utility randomly selects one pair of hosts and ports before
129 it passes the pair as arguments to ii(1) using system(3). Additional
130 arguments can be given to ii(1) by specifying them in ii arg. In case
131 ii(1) exits, this procedure is done all over again.
133 If sh arg is given, wrapper forks and then initializes ii(1). The child
134 process sleeps for 60 seconds (default) before passing sh arg to
135 system(3). This is useful in order to, for example, authenticate with
136 NickServ or rejoin IRC channels after a disconnection.
138 SEE ALSO
139 ii(1), sh(1), fork(3), sleep(3), system(3)
141 HISTORY
142 The development of wrapper began in the early 2011's with the first
143 version released on January 9, 2011 via http://repo.or.cz/w/iii.git.
145 CAVEATS
146 Notice that sh(1) meta-characters must be escaped in both ii arg and sh
147 arg and that the -s and -p flags of ii(1) have no effect in ii arg.
149 To prevent ii(1) from choosing different server directories as
150 connections are made to various hosts, pass it the -d flag. The argument
151 of the flag will override this part of the file path.
152 </pre>
154 </br>
155 <b><i>The manpages are from commit eea70aa4dbdde201cf938937d0fe500b17beb410.
156 For the latest ones, check the Git repository.</i></b>