PluralKit/README.md

64 lines
3.1 KiB
Markdown
Raw Normal View History

2018-09-07 16:57:18 +00: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.
2019-06-30 23:04:35 +00:00
**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**
2019-07-10 14:19:27 +00:00
2019-06-30 23:04:35 +00:00
PluralKit has a Discord server for support, feedback, and discussion: https://discord.gg/PczBt78
2018-09-07 16:57:18 +00:00
# Requirements
2020-02-12 13:39:00 +00:00
Running the bot requires [.NET Core](https://dotnet.microsoft.com/download) (v3.1) and a PostgreSQL database.
2018-09-07 16:57:18 +00:00
# Configuration
2019-06-30 23:04:35 +00:00
Configuring the bot is done through a JSON 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).
The configuration file needs to be placed in the bot's working directory (usually the repository root) and must be called `pluralkit.conf`.
2018-09-07 16:57:18 +00:00
2019-06-30 23:04:35 +00:00
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:
2019-03-07 15:29:46 +00:00
2019-06-30 23:04:35 +00:00
The following keys are available:
* `PluralKit.Database`: the URI of the database to connect to (in [ADO.NET Npgsql format](https://www.connectionstrings.com/npgsql/))
2019-06-30 23:04:35 +00:00
* `PluralKit.Bot.Token`: the Discord bot token to connect with
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-06-30 23:04:35 +00:00
* 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)
2018-09-07 16:57:18 +00:00
* 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
```
2018-09-07 16:57:18 +00:00
## Manually
2020-02-12 13:39:00 +00:00
* Install the .NET Core 3.1 SDK (see https://dotnet.microsoft.com/download)
2018-09-07 16:57:18 +00:00
* 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`
2019-06-30 23:04:35 +00:00
* Run the bot: `dotnet run --project PluralKit.Bot`
(tip: use `scripts/run-test-db.sh` to run a temporary PostgreSQL database on your local system. Requires Docker.)
# Building the docs
The website and documentation are automatically built by GitHub Pages when pushed to the `master` branch. They use [Jekyll 3](https://jekyllrb.com), which requires [Ruby](https://www.ruby-lang.org) and [Bundler](https://bundler.io/).
To build the docs locally, run:
```
$ cd docs/
$ bundle install --path vendor/bundle
$ bundle exec jekyll build
2019-08-31 17:12:48 +00:00
```
To run an auto-reloading server, substitute the last command with:
2020-02-12 13:39:00 +00:00
$ 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