Go to file
Ske f56c3e819f Replace Discord.Net with DSharpPlus
This commit will not compile.
2020-04-17 18:38:12 +02:00
.github Check out submodules when building in Actions 2019-12-24 01:15:29 +01:00
PluralKit.API Load proper config file for non-Docker API 2020-04-16 22:03:23 +02:00
PluralKit.Bot Replace Discord.Net with DSharpPlus 2020-04-17 18:38:12 +02:00
PluralKit.Core Optimize latch-mode autoproxy query 2020-04-16 18:23:56 +02:00
docs Add pk;find to the command list 2020-03-05 19:08:11 +01:00
scripts Make backup script more robust 2019-07-21 01:05:09 +02:00
.dockerignore Exclude in-dir archives/backups from the Docker context 2019-12-23 01:45:40 +01:00
.editorconfig Add .editorconfig 2019-08-13 23:28:03 +02:00
.gitignore Update .gitignore 2019-08-13 23:28:24 +02:00
.gitmodules Replace Discord.Net with DSharpPlus 2020-04-17 18:38:12 +02:00
Dockerfile Fix Docker build with new D.NET 2019-12-23 18:46:58 +01:00
PluralKit.sln Replace Discord.Net with DSharpPlus 2020-04-17 18:38:12 +02:00
README.md Update README 2020-02-12 14:39:00 +01:00
docker-compose.yml Fix initializing postgres on first startup (#153) 2020-03-05 16:51:35 +01:00
nuget.config Replace Discord.Net with DSharpPlus 2020-04-17 18:38:12 +02:00
pluralkit.conf.example Actually add the example config file 2019-07-01 01:16:44 +02:00

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.

Do you just want to add PluralKit to your server? If so, you don't need any of this. Use the bot's invite link: https://discordapp.com/oauth2/authorize?client_id=466378653216014359&scope=bot&permissions=536995904

PluralKit has a Discord server for support, feedback, and discussion: https://discord.gg/PczBt78

Requirements

Running the bot requires .NET Core (v3.1) and a PostgreSQL database.

Configuration

Configuring the bot is done through a JSON configuration file. An example of the configuration format can be seen in pluralkit.conf.example. The configuration file needs to be placed in the bot's working directory (usually the repository root) and must be called pluralkit.conf.

The configuration file is in JSON format (albeit with a .conf extension), and the following keys (using . to indicate a nested object level) are available:

The following keys are available:

  • PluralKit.Database: the URI of the database to connect to (in ADO.NET Npgsql format)
  • PluralKit.Bot.Token: the Discord bot token to connect with

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 as docker-compose.yml containing at least a PluralKit.Bot.Token field
    • (PluralKit.Database is overridden in docker-compose.yml to point to the Postgres container)
  • Build the bot: docker-compose build
  • Run the bot: docker-compose up

In other words:

$ git clone https://github.com/xSke/PluralKit
$ cd PluralKit
$ cp pluralkit.conf.example pluralkit.conf
$ nano pluralkit.conf  # (or vim, or whatever)
$ docker-compose up -d

Manually

  • Install the .NET Core 3.1 SDK (see https://dotnet.microsoft.com/download)
  • Clone this repository: git clone https://github.com/xSke/PluralKit
  • Create and fill in a pluralkit.conf file in the same directory as docker-compose.yml
  • Run the bot: dotnet run --project PluralKit.Bot

Building the docs

The website and documentation are automatically built by GitHub Pages when pushed to the master branch. They use Jekyll 3, which requires Ruby and Bundler.

To build the docs locally, run:

$ cd docs/
$ bundle install --path vendor/bundle
$ bundle exec jekyll build

To run an auto-reloading server, substitute the last command with:

$ bundle exec jekyll serve 

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