generated from Baipyrus/DiscordJS-Template
257 lines
4.6 KiB
Markdown
257 lines
4.6 KiB
Markdown
# Setup
|
|
|
|
## Requirements
|
|
|
|
- NodeJS (LTS; including NPM): https://nodejs.org/en/download/
|
|
- Git: https://git-scm.com/downloads
|
|
|
|
## Download
|
|
|
|
Download the current source code [here](https://git.baipyr.us/Baipyrus/DiscordJS-Example/archive/main.zip).
|
|
|
|
Or clone the repository manually:
|
|
|
|
```bash
|
|
git clone https://git.baipyr.us/Baipyrus/DiscordJS-Example.git
|
|
```
|
|
|
|
## Installation
|
|
|
|
Install the required dependencies:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
## Running
|
|
|
|
Start the bot with:
|
|
|
|
```bash
|
|
npm run start
|
|
```
|
|
|
|
# Usage
|
|
|
|
Discord utilizes different types of commands to interface with bots. The following explanations aim to explain these types.
|
|
|
|
## Slash Commands
|
|
|
|
Simple text-based commands. Can be entered in any Text-Based-Channel.
|
|
|
|
Prefix message with a "Slash" (`/`) and begin typing the name of the command! This prefix and the styling as a code snippet will be used to highlight Slash Commands in this message.
|
|
|
|
For clarification, this will also highlight command options as "Slash Command only" by prefixing them with an underscore (`_`)
|
|
|
|
## Context Menu Commands
|
|
|
|
"One click" commands. Listed under context (right click) menus, under the group "Apps".
|
|
|
|
Ideally, clicking on Users or Messages, you can apply any type of command with the press of a button. Comes with the downside of lacking further input capabilities.
|
|
|
|
Under the list of names of any given command, there may be a quoted string. These are meant to highlight context menu capabilities for the current command, by showcasing the commands name in the quote.
|
|
|
|
# Reaction/Self Roles
|
|
|
|
## Name
|
|
|
|
`/self_roles`
|
|
|
|
## Description
|
|
|
|
Enables users to self assign roles by reacting to a message, utilizing a bot for automated tasks
|
|
|
|
## Subcommands
|
|
|
|
### create
|
|
|
|
Full names:
|
|
|
|
- `/self_roles create`
|
|
|
|
Description:
|
|
|
|
The bot writes a message with the given contents in the current channel, and then registers said message for self roles
|
|
|
|
Options:
|
|
|
|
- \_text: String
|
|
|
|
### register
|
|
|
|
Full names:
|
|
|
|
- `/self_roles register`
|
|
- "Register self roles"
|
|
|
|
Description:
|
|
|
|
Fetches any existing message and registers it for self roles directly
|
|
|
|
Options:
|
|
|
|
- \_id: Discord Message ID
|
|
|
|
### remove
|
|
|
|
Full names:
|
|
|
|
- `/self_roles remove`
|
|
- "Remove self roles"
|
|
|
|
Description:
|
|
|
|
Fetches any existing message, looks if it is registered for self roles and then unregisters it
|
|
|
|
Options:
|
|
|
|
- \_id: Discord Message ID
|
|
|
|
### add
|
|
|
|
Full names:
|
|
|
|
- `/self_roles add`
|
|
- "Add role emoji pair"
|
|
|
|
Description:
|
|
|
|
Adds a new Role-Emoji-Pair to a given message. Reacting to said message with the given emoji yields the given role
|
|
|
|
Options:
|
|
|
|
- \_id: Discord Message ID
|
|
- role: Discord Role
|
|
- emoji: Unicode [or if accessible, a custom] Emoji
|
|
|
|
## Automated tasks
|
|
|
|
Registered Messages will automatically:
|
|
|
|
- be unregistered during deletion
|
|
- be edited in case the bot owns said message. It will explain the given Role-Emoji-Pairs every time a new pair is added.
|
|
|
|
# Custom Voice Chat
|
|
|
|
## Name
|
|
|
|
`/custom_vc`
|
|
|
|
## Description
|
|
|
|
Enables users to create a custom, temporary voice chat with full control over it
|
|
|
|
## Subcommands
|
|
|
|
### create
|
|
|
|
Full names:
|
|
|
|
- `/custom_vc create`
|
|
|
|
Description:
|
|
|
|
The bot creates a new voice channel with the given name and registers said channel for custom VC creation
|
|
|
|
Options:
|
|
|
|
- \_name: String
|
|
|
|
### register
|
|
|
|
Full names:
|
|
|
|
- `/custom_vc register`
|
|
|
|
Description:
|
|
|
|
Fetches any existing voice channel and registers it for custom VC creation directly
|
|
|
|
Options:
|
|
|
|
- \_channel: Discord Channel
|
|
|
|
### remove
|
|
|
|
Full names:
|
|
|
|
- `/custom_vc remove`
|
|
|
|
Description:
|
|
|
|
Fetches any voice channel, looks if it is registered for custom VC creation and then unregisters it
|
|
|
|
Options:
|
|
|
|
- \_channel: Discord Channel
|
|
|
|
## Automated tasks
|
|
|
|
Registered Voice Channels will automatically:
|
|
|
|
- be unregistered during deletion
|
|
- be deleted once all users left said channel
|
|
- grant full control over permissions, only within said channel, to the author
|
|
|
|
# New member roles
|
|
|
|
## Name
|
|
|
|
`/member_roles`
|
|
|
|
## Description
|
|
|
|
Registers roles to be assigned to new members
|
|
|
|
## Subcommands
|
|
|
|
### add
|
|
|
|
Full names:
|
|
|
|
- `/member_roles add`
|
|
|
|
Description:
|
|
|
|
Adds a new Role to be assigned to new members
|
|
|
|
Options:
|
|
|
|
- role: Discord Role
|
|
|
|
### remove
|
|
|
|
Full names:
|
|
|
|
- `/member_roles remove`
|
|
|
|
Description:
|
|
|
|
Removes a Role from being assigned to new members
|
|
|
|
Options:
|
|
|
|
- role: Discord Role
|
|
|
|
## Automated tasks
|
|
|
|
Registered roles will automatically be assigned to new members
|
|
|
|
# TO-DO List:
|
|
|
|
> **NOTE**
|
|
> These lists can and will easily be appended to in the future. Any and all feedback is greatly appreciated!
|
|
|
|
## Planned features
|
|
|
|
- Automated alerts/reminders
|
|
- Removing pairs on reaction/self roles
|
|
|
|
## Quirks/Bugs
|
|
|
|
- Users are currently unable to overwrite permissions of temporarily generated custom VCs
|
|
|
|
## Changes
|
|
|
|
None
|