err is a plugin-based XMPP chatbot designed to be easily deployable, extensible, and maintainable. It is written in Python, and is based on jabberbot and yapsy with some minor modifications to the first one. It has been tested with HipChat and Openfire, but should be compatible with any XMPP/Jabber servers. It can be set up so that a restricted list of persons have administration rights. Dynamic plugin architecture: the bot admin can install/uninstall/enable/disable plugins dynamically just by chatting with the bot. Supports MUCs (chatrooms). Can proxy and route one to one messages to MUC so it can enable simpler XMPP notifiers to be MUC compatible (such as the Jira XMPP notifier). It is easily extensible. It provides an an automatic persistence store per plugin, and a !help command that dynamically generates the documentation from the Python docstrings of the commands. Create a user for the bot on your private XMPP server or a public server like jabber.org. Optionally, you can create a MUC (also called a conference room or chatroom) in which you can interact with the bot.
JTelIRC is an advanced IRC framework for Java. It is mainly intended for writing automated clients ("bots"), but may be used for normal clients as well. It provides an intuitive and well documented Java interface to IRC and makes it extremely easy to write advanced clients quickly.
Based on ircu, Nefarious has features from various IRCds (Asuka, Bahamut, UnrealIRCd, and UltimateIRCd) with the intent of adding needed features to ircu without becoming too bloated or subject to anti-user behaviors. Most features can be activated or deactivated in the config file. Nefarious includes optional support for RBL-based blocking or marking, fakehosts, accounts, login-on-connect, half-ops, ban exceptions, mIRC color filtering chan-mode, network-wide bans (g-lines), and much more.
Pidgin-paranoia is a plugin for Pidgin (formerly known as Gaim) that provides information-theoretically secure encrypted conversations using one-time pads. Because the plugin uses a one-time pad where the secret key has the same length as the message and the key is only used once, the encryption is information-theoretically secure. This means that from the encrypted messages the contents of the messages are not revealed. In short: If you use truly random numbers to generate the key files, and if you keep them perfectly secret, one-time pads can not be broken.