libircclient binding for scripts
git clone
Log | Files | Refs | README

commit 2226320bf9f041bf7a5e80d1b07d64ddc06cf7f0
parent fc4b4574a9a1b73340b34b93b83ac1b59d396eb5
Author: Antoine Amarilli <>
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 <> + +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 <> + +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 #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. - - -Messages with - -== 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 +