I want to embed a small chat window in my program that will function as a basic IRC client. This requires limited functionality such as connecting, disconnecting, listing users, and sending private messages.
As of writing, I have tried several bloated libraries that make it too difficult to create a simple application (wiring many events, handling things like channels, modes, etc. that I'm not interested in). Other libraries I've tried are developed for old versions of .NET and are full of deprecation warnings. How can I develop a lightweight IRC client in C#?
Two years later, now there's ircdotnet (less up-to-date github mirror) which seems to work pretty well.
Should note that this does not yet (and will likely never) work for Windows 8 Metro-style (WinRT) apps.
There is a bunch of IRC libraries on Codeplex, one of them which seems quite good is Nebo IRC: http://nebo.codeplex.com/
Some other IRC libraries on Codeplex: http://www.codeplex.com/site/search?projectSearchText=IRC
I think the protocol is so simple you probably could do it yourself then. Really, I've tested some years ago using simply telnet! I'd get the source of some simple client and just implement the same commands.
You can refer to: http://www.irchelp.org/irchelp/rfc/rfc.html
Try using this C# IRC Library:
http://www.meebey.net/projects/smartirc4net/
It has many methods, I'm sure you can achieve everything you want with them:
http://smartirc4net.meebey.net/docs/0.4.0/html/
Projects using SmartIrc4net
- Smuxi IRC Client
- SparkleShare
- Low Orbit Ion Cannon
- MonkeyWrench
- U-Lyss IRC-Bot
- DG Network
- Abbot
- Spike.NET
- Prelude Chatbot
- VandalSniper
References: Get users list of a given channel in IRC server using C#