Configurable, modular chatbot written in c#.
-
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 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".
Tells the bot to stop running.
Scheduling plugins use Quartz.Scheduler to run code in backround threads at set schedules.
The TeamCity plugin will connect to the web API of a JetBrains TeamCity server to notify a chat room as builds pass or fail.
The core bot has no functionality to connect to any chat protocols, rather this functionality is provided by plugins.
Irc is one of the protocols for which there is a plugin. It is currently the only such protocol.
DammitBot employs the following 3rd party libraries (mostly through nuget):