2018-09-07 16:57:18 +00:00
# PluralKit
2018-09-09 19:09:31 +00:00
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
2018-09-07 16:57:18 +00:00
# Requirements
Running the bot requires Python (specifically version 3.6) and PostgreSQL.
# Configuration
2019-03-07 15:29:46 +00:00
Configuring the bot is done through a configuration file. An example of the configuration format can be seen in [`pluralkit.conf.example` ](https://github.com/xSke/PluralKit/blob/master/pluralkit.conf.example ).
2018-09-07 16:57:18 +00:00
2019-03-07 15:29:46 +00:00
The following keys are available:
* `token` : the Discord bot token to connect with
* `database_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.
2018-09-07 16:57:18 +00:00
# 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`
2019-03-07 15:29:46 +00:00
* Create a `pluralkit.conf` file in the same directory as `docker-compose.yml` containing at least a `token` field
2018-09-07 16:57:18 +00:00
* 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`
2019-03-07 15:29:46 +00:00
* 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` .
2019-02-16 13:33:00 +00:00
# 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