CWBot 0.8.3

CWBot is an IRC bot to provide online services in Morse usable with the CWirc client.
CWBot is an IRC bot to provide online services in Morse usable with the CWirc client. It can broadcast world news in Morse and Hellschreiber, RAC ham news, act as a MorseMail to CWirc repeater, or send fortune cookies in Morse, over an IRC channel or throught DCC chat, with adjustable keying speed and Farnsworth spacing. The project is easily extendable with scripts or external programs to provide additional services in Morse.

Architecture of the bot

CWBot is really composed of two parts : the bot core (the "cwbot" program itself) and the external chat engines.

The bot core

The bot core is a very basic IRC bot that maintains a connection to an IRC server, stays on a channel and replies to "Hello" and "Help". It doesn't do anything else by itself. To interact with users, it relies on external programs (the chat engines) that handle the chatting itself.

The core uses 2 types of chat engines : the channel chat engine, which does the chatting on the IRC channel the bot is on, and the DCC CHAT engine, which chats with individual DCC CHAT requestors. It spawns one instance of the
channel chat engine, and as many instances of the DCC CHAT engine as there are DCC CHAT sessions open. The core handles the translation between IRC or DCC CHAT messages and the chat engines, and takes care of starting/stopping
them transparently.

The chat engines

The chat engines (channel chat engine or DCC CHAT engine) are external programs that read and write plain text messages throught their standard inputs and standard outputs. The channel chat engine is meant to be spawned once and run forever. Should it stop for whatever reason however, the bot core will try to respawn it. The DCC CHAT engine is spawned whenever a DCC CHAT connection opens, and either runs until it decides to stop, provoking the termination of the DCC CHAT session, or until the bot itself terminates the session and kills it. Since there can be more than one DCC CHAT engine running at any given time,
they must be careful not writing to the same files or sharing resouces without talking to each other, if they need to share things.

What's New in This Release:

The IRC server receive buffer is now emptied when reconnecting, and the buffer is processed if it ever becomes full.
This removes a bug that occasionally prevented cwbot from reconnecting after being kicked out of a busy channel.

last updated on:
October 23rd, 2007, 13:35 GMT
developed by:
Pierre-Philippe Coupard
license type:
GPL (GNU General Public License) 
ROOT \ Communications \ Chat


In a hurry? Add it to your Download Basket!

user rating 18




Add your review!