Tanja-4732 / meme-bot

Automates and manages meme channels for Discord servers
GNU Affero General Public License v3.0
1 stars 1 forks source link
discord-automation discord-bot discord-js discord-management meme meme-automation memes nodejs postgr postgresql ts-node typeorm typescript

MemeBot

Automated meme management for Discord

Table of contents

Features

MemeBot enriches a guild with the following features:

Getting started

Setup is quick and easy.

  1. Get an instance of MemeBot and its invite link
  2. Add MemeBot to the guild using said invite link
  3. Create a dedicated bot-command channel
  4. Type the mb init command and hit return in the bot-command channel
  5. Create a meme channel and a confession channel (if they don't exist already; both are optional)
  6. Optional (but recommended) configuration
    1. Enter mb meme #meme-channel-name to set the meme channel
    2. Enter mb confession #confession-channel-name to set the confession channel
  7. You may enter the mb downvote 10 command to set the downvote limit to <=10
  8. Enter the mb name mas to set the guilds name to "mas" (see configuration)

And you're all set.

Configuration

MemeBot provides help to any command using the mb -h command. Any other sub-command may also get -h appended to learn more about it.

Most commands and options have abbreviations. Check mb -h to see the all. For example, --disable may be substituted by -d, and cmd-channel by cmd.

The following may be configured by an admin:

Users' manual

This section focuses on how a user (non-admin) may interact with MemeBot.

A user may only interact with MemeBot via a direct message (DM) to MemeBot. For more details a user may always DM MemeBot with mb -h. Furthermore, -h may be appended to any command to learn more about any command.

A user can:

Hosting

If you want to host MemeBot yourself, you'll need to follow these steps:

  1. Get the source code (e.g. git clone git clone git@github.com:Bernd-L/ meme-bot.git)
  2. Install Node.js
  3. Install PostgreSQL
  4. Run npm install within the source folder
  5. Create (or reuse existing) withing PostgreSQL
    1. A user (with the login privilege and a password)
    2. A database (owned by the user)
    3. A schema within the database (owned by the user)
  6. Set the environment variables in the table below
  7. Start MemeBot using npm start

The environment variables:

Description Environment variable name Example value(s)
The hostname of the PostgreSQL server MB_HOST localhost, memebot-db.example.com
The post of the PostgreSQL server MB_PORT 5432 (It's recommended to use this one)
The username of the PostgreSQL user MB_USER mb, memebot_user
The password of the MB_PWD mb, Sup€rPassword123
The name of the PostgreSQL database used by MemBot MB_DB mb
If SSL should be used to connect to the DB MB_SSL false, true
The mode of operation of MemeBot MB_MODE development, production
The PostgreSQL schema to be used by MemeBot MB_SCHEMA public, mb_dev
The token issued by Discord to connect MemeBot MB_TOKEN NSkjsd7349SDjlkj.sdfjNCS28.sdjJDS83349JWdjsdjgn

Copyright notice

Copyright 2019 Bernd-L.
Licensed under the AGPLv3 license.