minebot/README.md

42 lines
1.4 KiB
Markdown
Raw Normal View History

2020-12-29 04:21:35 +00:00
# Minebot
2020-12-30 16:53:01 +00:00
[![Build Status](https://drone.jfmonty2.com/api/badges/jfmonty2/minebot/status.svg)](https://drone.jfmonty2.com/jfmonty2/minebot)
2020-12-29 04:21:35 +00:00
Discord bot for controlling a Heavynode minecraft server.
Currently implemented commands:
* `!add` - adds a player to the whitelist
* `!remove` - removes a player from the whitelist
# Developing
This bot is built on [discord.py](https://discordpy.readthedocs.io/en/latest/), a Python library for Discord bots.
Discord.py makes heavy use of asynchronous Python (via the [asyncio](https://docs.python.org/3/library/asyncio.html) module).
It's worth a look if you've never experimented with that side of Python.
# Running
To run the bot, first install its dependencies:
```sh
pip install discord.py 'python-socketio>=4.0,<5.0'
```
It also expects the following environment variables:
* `DISCORD_TOKEN`: Discord API token
* `DISCORD_SERVER_ID` (Optional, may be excluded if the bot is only joined to one server)
* `HEAVYNODE_TOKEN`: Heavynode API token
* `HEAVYNODE_COOKIE_NAME`: Name of Heavynode `remember_web` cookie
* `HEAVYNODE_COOKIE_VALUE`: Value of Heavynode `remember_web` cookie
Any of these items may be read from a file instead of the environment, by appending `_FILE` to the environment variable
and setting its value to the path of the file. E.g. `export DISCORD_TOKEN_FILE=/path/to/token/file`
You can then run the bot directly:
```sh
python bot.py
```