214a6d5a49
Fixes a bug in member_avatar() where the bot will try to check for an attachment via list index when attachments do not exist. |
||
---|---|---|
.vscode | ||
scripts | ||
src | ||
web | ||
.gitignore | ||
docker-compose.yml | ||
pluralkit.conf.example | ||
README.md |
PluralKit
PluralKit is a Discord bot meant for plural communities. It has features like message proxying through webhooks, switch tracking, system and member profiles, and more.
PluralKit has a Discord server for support and discussion: https://discord.gg/PczBt78
Requirements
Running the bot requires Python (specifically version 3.6) and PostgreSQL.
Configuration
Configuring the bot is done through a configuration file. An example of the configuration format can be seen in pluralkit.conf.example
.
The following keys are available:
token
: the Discord bot token to connect withdatabase_uri
: the URI of the database to connect to (format:postgres://username:password@hostname:port/database_name
)log_channel
(optional): a Discord channel ID the bot will post exception tracebacks in (make this private!)
The environment variables TOKEN
and DATABASE_URI
will override the configuration file values when present.
Running
Docker
Running PluralKit is pretty easy with Docker. The repository contains a docker-compose.yml
file ready to use.
- Clone this repository:
git clone https://github.com/xSke/PluralKit
- Create a
pluralkit.conf
file in the same directory asdocker-compose.yml
containing at least atoken
field - Build the bot:
docker-compose build
- Run the bot:
docker-compose up
Manually
- Clone this repository:
git clone https://github.com/xSke/PluralKit
- Create a virtualenv:
virtualenv --python=python3.6 venv
- Install dependencies:
venv/bin/pip install -r requirements.txt
- Run PluralKit with the config file:
venv/bin/python src/bot_main.py
- The bot optionally takes a parameter describing the location of the configuration file, defaulting to
./pluralkit.conf
.
- The bot optionally takes a parameter describing the location of the configuration file, defaulting to
License
This project is under the Apache License, Version 2.0. It is available at the following link: https://www.apache.org/licenses/LICENSE-2.0