libircclient is a small but extremely powerful library which implements the IRC protocol. It is designed to be small, 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.
Current version is 1.9 released on May 3, 2016.
The library provides the following features:
- 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;