From Botdom Wiki
Jump to navigation Jump to search
Release Name - Oberon
Oberon 3.1.0 startup screen.
Developer(s): onisemus
Programming language: C#
Minimum requirements: .NET Framework 4.0
Development state: Alpha
Source model: Open source
Last stable release: 3.1.0 (April 29, 2013)
License type: Free software (CC)


Inactive Project
This project appears to be discontinued and is not recommended for use.

Oberon is a dAmn chat bot written by onisemus (who was formerly bigmanhaywood). It's purpose was to create an easy-to-use, easily-extended bot written to run on a Windows platform.

Oberon is a full-featured bot written using the Microsoft .NET Framework. It is an all-purpose bot designed with flexibility and extension in mind. It has a plugin system which allows developers to add to or modify the bot in any way they see fit. Oberon is very simple to set up and comes with a wide array of plugins ready for use, right out of the box.


  • .NET Framework 4.0 or later


  • Full disconnect handling
  • Bot user manual
  • Full code documentation
  • Built-in help for commands
  • Fully leverages the .NET platform - anything you can use in .NET you can use in a plugin.
  • Easy to write new plugins for
  • Lots of extra plugins ready-to-use
  • Built-in chatroom logging
  • Built-in user access and security
  • Extensive error logging
  • All sort of other awesome things!


The current alpha version of Oberon is available for download here.


Documentation can be found at the Oberon wiki page.

Change Log

Read documentation on Oberon on Botdom Documentation.

Oberon 3.1.0 Alpha

(29th Jan 2013)

  • A number of bug fixes
  • Implemented a BDS plugin
  • Added a "module" extensibility system
  • Added a UI chat interface module
  • Added a System Tray module

Oberon 3.0.1 Alpha

(21st April 2012)

  • Oberon reborn! Started rebuilding with v2 then eventually scrapped that. Rebuilt with v3 from the ground up - hot off the presses!

Oberon 0.8.4 Alpha

(19th May 2010)

  • Added ability for bot to retry a few times when a connect fails

Oberon 0.8.3

  • Added ability for plugins to automatically update
  • Added manifest.xml file for plugins
    • This file includes metadata for the plugin
    • Holds compatibility info so the bot can check versions
    • Holds url to automatically update the plugin

Oberon 0.8.2

  • Added ability for bot to automatically update itself
  • Created updater.exe to download and extract new bot versions

Oberon 0.8.1

  • Added ability to have the bot ignore users
    • Ignored user list is now stored in bot.config
  • Added extra debug messages when loading plugins
  • Added try/catch around dynamic assembly loading so bot wouldn't choke on a bad dll

Oberon 0.8.0

  • Base version.


For extended documentation see the Plugin Development.

Sample Module

<csharp> using System; using Oberon.Core.Extensibility; using Oberon.Core.Framework.Packets; using Oberon.Net;

namespace Oberon.Plugins.HelloWorld {

   public class MyClass
       private void HelloWorldCommand(CommandPacket packet, PluginContext context)
           context.ThisRoom.Respond("Hello World");
       private void RespondToDude(EventPacket packet, PluginContext context)
           if (packet.Message.StartsWith("dude"))
               context.ThisRoom.Respond("No surfer talk in here!!");

} </csharp>


Feedback is much appreciated. You can either leave a comment on the OberonBot user page or create a ticket at https://github.com/JonHaywood/Oberon/issues.


Credit where credit is due! I unabashedly admit to stealing ideas and concepts from other bots as much as I possibly could :). Contra, Dante, and Futurism were other bots that I pulled heavily from. I used those to see what all the moving parts were so I could see how I might want to architect my own system. Also the DAmnDOTnet project provided some helpful guidance on how to connect to the dAmn servers in .NET.

This work is released under the Creative Commons Attribution NonCommerical ShareAlike 3.0 License, which allows you to freely use, modify or distribute it, however you are not allowed to make commercial use of this work, you need to credit the original creator of the work, and all deratives you make of this work have to be released under a license identical to this one.