Skip to content

benapetr/wikimedia-bot

Repository files navigation

wm-bot

This repository contains the source code for wm-bot, an IRC bot that is used on a number of Wikimedia IRC channels.

This project was started as an irc bot for wikimedia project, but later grown into probably one of biggest and most flexible IRC bot solutions.

The bot is written in C#. To compile the bot, you'll need a suitable compiler. Visual Studio and MonoDevelop are recommended.

This bot is very flexible and extendible some of bot features:

  • Can spawn bot-net (multi bot instances)
  • Can use external bouncers (so that bot stay online even when you need to restart it)
  • Can be extended with c# modules
  • Can be extended with modules written in 3rd languages, like python or bash
  • Comes with telnet friendly operator interface
  • Role based permission system
  • Support for PostgreSQL databases
  • Support for MySQL databases
  • Basic installation comes with over 25 extensions
  • Support for different interface languages per channel

For further help and usage instructions (for users, not maintainers of bot), please consult the documentation on Meta-Wiki.

Dependencies

All dependencies are linked as submodules, make sure to check them out before opening the project:

git submodule init
git sumoduble update

How to build

Due to nature of C# and it's universally bad support on GNU/Linux and all platforms other than MS Windows, it's currently necessary to compile the project using latest Visual Studio.

Produced binaries may be accompanied with libraries that are not really necessary and do not need to be shipped.

Bot's core will be built as "wmib.exe" and modules will be in folder "mods" (typically 3 .dll plugins prefixed with WMBot). These libraries need to be in folder "modules" for bot to find them.

Launching the bot from terminal will show you further instructions on how to configure it.

GNU/Linux

Use mono to launch the bot:

mono wmib.exe

# useful
mono wmib.exe --help

Windows

You need open the project and visual studio and build everything, once that is done you can copy the default configuration files from configuration folder.

How to configure bot

There is folder configuration with master config file wmib.conf, if you open it, you will see a lot of comments with explanations how to configure the bot.

Where can I get help

You can join #wm-bot on freenode and ask there