NetIRC2 is an easy-to-use .NET IRC client library. It supports all major features relevant to making a chat client or bot.
NetIRC2 has full support for synchronization contexts. You can use it from a Windows Forms or WPF GUI thread and chat events will be automatically dispatched, allowing you to completely ignore multithreading. It uses byte arrays internally so mixed encodings can be handled. The IrcClient class can even be used as a component in the Forms Designer.
Because it speeds up connect times with some IRC servers, an Ident server is included as well.
Answers requests using the Ident protocol (RFC 1413). Many IRC servers try to connect to a client's Ident server.
Communicates with an Internet Relay Chat server.
Provides options used by the Connect(String, Int32, IrcClientConnectionOptions) command.
Stores an IRC user's identity information - their nickname, username, and hostname.
Allows string-style manipulation of arrays of bytes. IRC does not define an encoding, so this provides for encoding-agnostic parsing.
Many of the common IRC error and reply codes.