libircclient was developed as an Open Source and small but extremely powerful library that manages to implement the IRC protocol.
It is designed to be fast, portable and compatible with the RFC standards as well as non-standard but popular features. It is perfect for building the IRC clients and bots.
Here are some key features of "libircclient":
· Full coverage of the IRC protocol using providing functions;
· Supports multiple simultaneous connection to different IRC servers or even to the same server;
· Supports both plain and SSL connections to the IRC servers with the optional certificate check;
· Comprehensive documentation, examples and FAQ;
· Full multi-threading support, the library is thread-safe;
· All the processing could be handled by a single thread even if multiple connections are used;
· Non-blocking, asynchronous event-based interface implemented with callbacks;
· Extra support for the socket-based applications, which use select();
· CTCP support with optional build-in reply code;
· Supports CTCP PING necessary to pass the “spoof check” implemented by most IRC servers;
· Flexible DCC support, including both DCC chat, and DCC file transfer;
· Can both initiate and react to initiated DCC;
· Can accept or decline DCC sessions asynchronously;
· Written in plain C, very small binary size (around 30K depending on platform);
· Compatible with RFC 1459 and most IRC clients;
· Free software licensed under LGPL license;
· Supports Linux as well as any POSIX-compliant Unix, Mac OS X and Microsoft Windows;
· Could be compiled with optional IPv6 support;
· Cocoa interface by Nathan Ollerenshaw;
What's New in This Release: [ read full changelog ]
· This is a minor bugfix release. Fixed PRIVMSG events incorrectly reported as CHANNEL, the shared library built, and a few IPv6 issues.