Author: Antoine Amarilli <email@example.com>
Date: Sat, 28 Jul 2012 01:43:33 +0200
add ii, IrcTK, mention buffering
|README|| | ||34||+++++++++++++++++++++-------------|
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/README b/README
@@ -24,10 +24,20 @@ receives from stdin and displays what is said to stdout. This makes it possible
to write simple IRC bots and scripts very quickly, either in the shell or in
your favourite programming language.
-irctk is not related to IrcTK by Max Countryman
+== 2. Related projects ==
-== 2. Setup ==
+ * ii <http://tools.suckless.org/ii/>
+However, whereas ii is filesystem and FIFO-based, irctk is entirely FIFO-based.
+ii's control FIFO is irctk's stdin, but ii's output files are replaced by
+irctk's stdout. irctk does not write to disk or read from disk. irctk also
+includes features which make it easy to write bots in one line of shell script.
+ * IrcTK <https://github.com/maxcountryman/irctk>
+irctk has nothing to do with this except the similar name.
+== 3. Setup ==
irctk is written using libircclient, you will need it to compile and run the
program. Install libircclient-dev (on Ubuntu and Debian systems), or get it from
@@ -35,7 +45,7 @@ program. Install libircclient-dev (on Ubuntu and Debian systems), or get it from
the first option is recommended, because libircclient's build system has no
support for make install, so things are less pleasant than they could be.)
-== 3. Examples ==
+== 4. Examples ==
$ irctk firstname.lastname@example.org #chan1 #chan2 > irc.log
@@ -126,7 +136,7 @@ TODO poor man's irc client with screen
TODO an IRC shell
TODO an IRC shell running irctk (irception!)
-== 4. Pipelining ==
+== 5. Pipelining ==
irctk tries to apply its rate limitation (-i) independently on each channel.
This means that, to ensure the fastest possible delivery, messages to channels
@@ -141,7 +151,7 @@ therefore wait for the buffers of all relevant channels to be empty). If you do
not want this synchronization, you should say the message several times,
addressed to each individual channel.
-== 5. Implied destinations ==
+== 6. Implied destinations ==
You can always specify the channel to which you speak by using a "[#channel]"
prefix. You can specify multiple channels for the same message (but see the
@@ -179,14 +189,10 @@ active at the moment when you *write* your message to irctk's stdin, not at the
moment when irctk will *say* it. This is usually what you expect.
This setting is perfect if you want to reply to messages by users and if your
-replies are instantaneous. If they are not, more options are available.
+replies are instantaneous. If they are not, consider writing your own logic to
+route messages according to your needs.
-== 6. Caveats ==
+== 7. Caveats ==
irctk has not been audited thoroughly for bugs or security vulnerabilities. Be
cautious if you intend to connect it to an IRC server with untrusted users.
@@ -205,3 +211,5 @@ irctk will exit if stdin is /dev/null. TODO tail -f /dev/null
irctk may say greedily the first things it sees on stdin while things to say in
parallel might be available. TODO
+irctk can have trouble with buffering. TODO