A modular IRC bot written in C#
C#
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
IRCSharp.ConsoleRunner
IRCSharp.Kernel.Model
IRCSharp.Kernel
IRCSharp.MSMQ
IRCSharp.MSMQTestProgram
IRCSharp.Migrations
IRCSharp.Security
IRCSharp.Statistics.Kernel
IRCSharp.Statistics
IRCSharp.Threading
UnitTest
UnitTestConsoleRunner
UserdefinedCommandExample
.gitignore
.hgtags
IRCSharp.sln
NUnitProjectSuite.VisualState.xml
NUnitProjectSuite.nunit
TODO.txt
UnitTest.VisualState.xml
readme.markdown

readme.markdown

IRCSharp

IRCSharp is a modular IRC robot. Through a simple contract it is possible to extend the robot with new commands, at runtime without rebooting.

Quick start

See [Quick start guide] (https://github.com/mslot/IRCSharp/wiki/QuickStart). This readme has not been updated yet with examples on how to use the MessageQueue API, but I am in the process of writing one. If you are interested in seeing how it is done, then take a look in the MSMQTestProgram. Remember to install MessageQueue.

Installing

I am in the process of writing a paper on how to compile the bot. There is a bit of configuration to be set up because of database migrations and such. Send me a mail if you have any questions for now. The paper is going to be finished before the first full moon in 2013 :)

Known bugs

This is the third beta release. So there is many UNKNOWN bugs. Be aware that this bot does not yet handle:

  • Netsplits
  • Mass querying the bot (and flooding the channel)

Tested

I have written some unit tests to support the two parsers. I have only tests the minimum required so I can get the bot up and running. If bugs is detected, let me know and I will patch the bot and update the tests. The bot is only tested on Quakenet.

The MessageQueue has NOT been tested enough yet, so this part is still pretty alpha. More to come on this.

Next up

I think that the bot, for now, is feature complete. It has all the features that I want, so now it all comes down to refactoring. I have refactored some code, from the first beta to the second beta, but not added more features to it. The next thing up is code cleaning, removing all those TODO's. I am also in the process of writing some good basic tutorials on how to extend the bot.

License

"THE BEER-WARE LICENSE" (Revision 42): wrote this file. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return.

Martin Slot.