This evening I posted a technology preview of BN# (that's "BN-Sharp"), a new utility library I've been working on that manages Battle.net connections. Most of the gruntwork is done for you in a core that manages a client connection based on a settings object; all you have to do is handle events as you see fit. BN# includes MBNCSUtil out of the box, and although some might try to compare BN# to CleanSlateBot and others, there are several important features to consider.
1.) I've done quite a bit of work optimizing the multithreaded core; under the hood, it supports the ability to prioritize packet handling order based on ID. So, it could be configured to be an effective channel protection client, for example.
2.) The event system is also multithreaded and priority-based. Although you can use standard .NET syntax for handling events, it also supports a callback version. Standard .NET event registration handles events at Normal priority. So even with a graphical client, it can still be an effective moderation core.
3.) BN# doesn't support a drag-and-drop architecture; users need to be able to implement some objects on their own.
4.) BN# is fully object-oriented, which means that the connection class can be subclassed to modify behavior.
5.) BN# is (read: will be once posted) open-source under a BSD-style license and will be hosted on Google Code.
6.) BN# manages memory by pooling and reusing memory for packets, saving approximately 50% of total memory usage over previous editions of JinxBot and helping to prevent heap fragmentation.
The build has been posted here:
BN# Community Technology Preview -- be sure to check out the Wiki page and the documentation which is available at
BN# - Table of Contents.