Go to file
2018-11-30 20:45:04 +01:00
scripts Fix the backup scripts (cronjob didn't fire for a month...) 2018-11-07 21:16:34 +01:00
src Add basic stats endpoint 2018-11-30 20:45:04 +01:00
.gitignore Major command handling refactor 2018-09-07 17:34:38 +02:00
docker-compose.yml Remove unsupported Influx/Grafana analytics code 2018-10-11 11:23:20 +02:00
README.md Add a Discord invite link to the README 2018-09-09 21:09:31 +02:00

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 environment variables.

  • TOKEN - the Discord bot token to connect with
  • CLIENT_ID - the Discord bot client ID
  • DATABASE_USER - the username to log into the database with
  • DATABASE_PASS - the password to log into the database with
  • DATABASE_NAME - the name of the database to use
  • DATABASE_HOST - the hostname of the PostgreSQL instance to connect to
  • DATABASE_PORT - the port of the PostgreSQL instance to connect to
  • LOG_CHANNEL (optional) - a Discord channel ID the bot will post exception tracebacks in (make this private!)

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 .env file containing at least TOKEN and CLIENT_ID in key=value format
  • Build the bot: docker-compose build
  • Run the bot: docker-compose up

Manually

You'll need to pass configuration options through shell environment variables.

  • 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 environment variables: TOKEN=... CLIENT_ID=... DATABASE_USER=... venv/bin/python src/bot_main.py