libircclient is a small but powerful library, which implements client-server IRC protocol. It is designed to be small, fast, portable and compatible to RFC standards, and most IRC clients. libircclient features include:
* Full multi-threading support.
* Single threads handles all the IRC processing.
* Support for single-threaded applications, and socket-based applications, which use select()
* Synchronous and asynchronous interfaces.
* CTCP support with optional build-in reply code.
* 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.
* Plain C interface and implementation (possible to use from C++ code, obviously)
* Compatible with RFC 1459 and most IRC clients.
* Free, licensed under LGPL license.
* Good documentation and examples available.
FB package: http://voodooattack.sitesled.com/FB/lircc.zip
[extract to FB folder, the dll is included along with the static lib]
I didn't bother finishing the example since i got caugh in other projects.. the only thing missing in the example is DCC functionality..
the example is almost a typical translation of the C example supplied with the library, so it shouldn't be hard to understand the C example..
also note, once you call irc_run(session), you're not controlling the application execution any more, the function will not return until the session terminates, a good strategy would be creating threads to deal with multiple sessions(if you plan to create more than one session)..
I'll be writing a Win32 Service, demonstrating an IRC bot with a scripting interface, based on the 'FBServ Framework' i posted earlier:
http://www.freebasic.net/forum/viewtopic.php?t=3708 (i'll update it soon enough)
that'll be a good example of using both components, along the chaos of the multi-threading salad that'll follow.. :P
good luck, and i hope you find it useful.. :-)