Skip to content

Old install guide

Yannick edited this page Dec 18, 2020 · 2 revisions

DEPRECATED

Setup - Installation

The following guide assumes you want to deploy a production environment using docker.

Operation System

Since I use Docker you can use an operating system of your choice, but I recommend ubuntu and will list the next steps based on a linux host.

Requirements

  • docker & docker-compose
  • jq - a bash tool for json
  • a subdomain to host the application on
  • a reverse proxy on your host

Discord OAuth

Requests are authenticated using Discord OAuth2. Create your own OAuth application here.
You will have to use Client ID and Client Secret in the tab General Information and the bot token at Bot later in the local config file.
Also set the redirect paths in the tab OAuth2. Be sure to set the following:

http://yourdomain.com/
http://yourdomain.com/signin-discord
https://yourdomain.com/
https://yourdomain.com/signin-discord

Bot Intents

Enable Server Members Intent in your bot settings.

Setup

  • Download this repository git clone https://github.com/zaanposni/discord-masz (zip link)
  • Create a config.json file in the root of the project based on the template in default-config.json
    • site_admins is a list of Discord user id strings. This list is used to authorize users to add new guilds to the application or similiar admin tasks.
    • service_name should be the name/domain the service is hosted on.
    • service_domain is the domain the service is hosted on.
    • service_base_url is the URL the service is hosted on.
  • Start everything out of the box by running the bootstrap.sh script.
  • Your application is now hosted at yourdomain.com, you might want to redirect your reverse proxy or similiar to this location :)

First steps

  • You can visit your application at yourdomain.com. You will see a login screen that will ask you to authenticate yourself using Discord OAuth2.
  • After authorizing your service to use your Discord account you will see your profile picture in the top right corner of the index page.
  • If you are logged in as a site admin you can use the "register guild" button to register your guilds and to get started. If you do not see the button please verify that your discord user id is in the site_admins list of your config.json
  • Based on wanted features and functionalities you might have to grant your bot advanced permissions, read below for more info.

Unban request feature

If you want banned users to see their cases, grant your bot the ban people permission.
This way they can see the reason for their ban and comment or send an unban request.

Punishment feature

If you want the application to execute punishments like mutes and bans and manage them automatically (like unban after defined time on tempban), grant your bot the following permissions based on your needs:

Manage roles - for muted role
Kick people
Ban people

Update

To install a new update of MASZ just use:

git pull
./bootstrap.sh

Migration

To migrate your existing data from the Dynobot checkout this documentation.