Skip to content
Extensible chat bot for Steam
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status


MoistureBot is an extensible chat bot for steam based on SteamKit2. It uses Mono.Addins to provide extensibility.

Example usage


In order to run or build MoistureBot, you will need .NET 4.5 or Mono ≥ 3.0.0. You can check your current Mono version by typing mono --version into your command line.

Building on Linux

Tested on: Debian GNU/Linux 8.5 (jessie), Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-10)

cd ~
git clone
cd MoistureBot
xbuild /p:Configuration=Release

After a successful build, the binaries will be in MoistureBot/bin/Release and can be run with mono MoistureBot.exe

Possible issues

  • Nuget can't find referenced libraries:
    • Try to import required certificates with mozroots --import --sync

Building on Windows

Building on Windows is the same as for linux, but you may also use msbuild instead of xbuild if you don't have Mono installed. In order for SQLite to work on Windows, you need to download the precompiled SQLite3 binaries from Place the binaries (sqlite3.dll) in the same folder with MoistureBot.exe.

Creating addins

You can start by taking a look at some of the sample plugins listed below. In short, an addin only needs three things to work:

  1. A reference to MoistureBotLib.dll (included in the project)
  2. A file named PluginName.addin.xml for configuring what the addin extends.
  3. Your own fantastic addin code, that implements the wanted extension point interfaces defined in MoistureBotLib.dll.

If you want to know more about how the addin system works, see

The project includes the following addins:

  • Moikkaaja: reply to greetings defined in an xml file.
  • AutoInviteJoin: automatically join group chats when invited.
  • AutoReconnect: automatically check connection every 10 minutes and reconnect and join favorite rooms if needed.
  • GameInviteReply: automatically reply to game lobby invites with random message sequences selected from an xml file.
  • EmbedlyUrlInfo: reply to video urls with title using API.
  • SQLiteChatLogger: log chat messages and urls to SQLite database.
  • UrlHistoryCommand: Displays last 20 urls from chat log when user types !urlhistory.
  • HistoryCommand: Displays last 20 messages from chat log when user types !history.


This project is licensed under the MIT license.

You can’t perform that action at this time.