MoistureBot is an extensible chat bot for steam based on SteamKit2. It uses Mono.Addins to provide extensibility.
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.
Tested on: Debian GNU/Linux 8.5 (jessie), Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-10)
cd ~
git clone https://github.com/attemoi/MoistureBot.git
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
- Nuget can't find referenced libraries:
- Try to import required certificates with
mozroots --import --sync
- Try to import required certificates with
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 http://www.sqlite.org/download.html. Place the binaries (sqlite3.dll) in the same folder with MoistureBot.exe.
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:
- A reference to MoistureBotLib.dll (included in the project)
- A file named PluginName.addin.xml for configuring what the addin extends.
- 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 http://monoaddins.codeplex.com/.
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 embed.ly 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.