IRC.NET Released

IRC.NET logoIRC.NET is here. Yes, after months of (arduous) labour I have finally created a stable and usable release of my IRC client library for .NET 4.0 (and Mono 2.6). You may find the project hosted over at Launchpad, where you can currently download source, binaries, and documentation for all releases up to 0.3. As you might guess, the project is still in beta stage, though with active interest in the project over the past months, I have had but a handful of minor bug reports. The 0.4 version is shortly upcoming, and is mainly intended to provide extra samples and documentation before the 1.0 release candidate.

If you want an overview of the goal of the project, the Launchpad page probably explains it best:

IRC.NET is a fully-featured IRC (Internet Relay Chat) client library for the .NET Framework 4.0. It aims to provide a complete and accurate implementation of the protocol as described in RFC 2812 (Internet Relay Chat: Client Protocol) as well as supporting de-facto modern features of the protocol, such as ISUPPORT commands and CTCP (Client To Client Protocol).

Oh, and it would hardly be appropriate for an IRC-related project not to have its own IRC channel; feel free to drop by ##ircdotnet over on Freenode. We’re always happy to help.

Overview of Features

  • Modern and systematically designed API. Easily integrable into UI/WPF scenarios.
  • Full suite of unit tests that interact with live server.
  • Detailed error messages provided by the library.
  • Comprehensive API documentation (MS HTML Help and MS Help Viewer formats).
  • A basic sample with full documentation.
  • Connect to and register with multiple IRC servers on arbitrary ports, as either a user or service. SSL support is coming with v0.4.
  • Change the user mode and nick name.
  • Query the server for information about itself, the network, users, channels, and various other things.
  • Track all known users on the server, and store information about them. Receive instant update notifications.
  • Join and leave channels, including channels with keys.
  • Track the list of users that are currently members of a channel.
  • Set and retrieve channel modes (e.g. m, I) as well as channel modes that apply to users (e.g. o, v).
  • Kick or ban a user from a channel.
  • Send and receive messages and notices to/from other users, channels, and the server.
  • Perform WHO/WHOIS/WHOWAS queries on any user and store all received information.
  • Configurable rate throttling; a queue of outgoing messages is maintained so as to not flood the server.
  • Client-to-client protocol (CTCP) support as a separate layer on top of IRC. Support for all common commands and messages.
  • Various non-RFC features in widespread usage, such as ISUPPORT.

The Official Client Application

Note: Ircsil has now been renamed to wIRC. The renamed Launchpad project site can be found here.

As a side-note, I am alIrcsil logoso running a project to create a modern and user-friendly IRC client for Windows 7, under the (temporary) name of Ircsil. The project is still in its early stages, but feel free to check out the work done so far, and even better, show your support. You’re also welcome to visit our IRC channel, #ircsil on Freenode; it’s always full of discussion.

Here’s an screenshot from a recent build, in the hope of garnering a bit of enthusiasm!

Screenshot of user interface of recent Ircsil build.

3 Responses to “IRC.NET Released”

  1. jonh says:

    Nice, I’ll check this out! nice UI too

  2. wpf_fan says:

    You say “Easily integrable into UI/WPF scenarios.”, this is what I’m trying to achieve… Can you tell a bit more about that? I’m having the following issue:

    All collections and classes implement INotifyPropertyChanged and INotifyCollectionChanged, so they look like they could be bound to the UI. (E.g. setting a ListBox.ItemsSource to some channel.Users).

    But this doesn’t work because ircdotnet updates those collections on a background thread, which makes the Dispatcher on the main thread angry ;)

    What is the expected way to use this library in a WPF context?

  3. Noldorin says:

    I never had any problems with this during my testing. I suggest you try the ##wpf IRC channel on FreeNode for assistance with this.

RSS feed for comments on this post. And trackBack URL.

Leave a Reply

%d bloggers like this: