/DammitBot

Configurable, modular chatbot written in c#.

Primary LanguageC#

DammitBot

Configurable, modular chatbot written in c#.

Features

  • Plugin system

  • (optional) TeamCity build notifications

  • (optional) Message logging

  • (optional) Time-based reminders

  • (optional) Database with an (optional) auto-runner

Plugins are implemented by implementing functionality that overlays/overwrites default functionality in the bot. There are join points which allow plugins to add

Commands

Commands are messages sent to the bot beginning with a name it has been configured to respond to. The default name the bot will respond to is "bot" or "dammit bot".

Die

Tells the bot to stop running.

Scheduling

Scheduling plugins use Quartz.Scheduler to run code in backround threads at set schedules.

Team City

The TeamCity plugin will connect to the web API of a JetBrains TeamCity server to notify a chat room as builds pass or fail.

Protocols

The core bot has no functionality to connect to any chat protocols, rather this functionality is provided by plugins.

Irc

Irc is one of the protocols for which there is a plugin. It is currently the only such protocol.

Libraries

DammitBot employs the following 3rd party libraries (mostly through nuget):