A discord bot to facilitate r/mealtimevideo discord server. The bot will (eventually):
- Tracks community-trust based on vote reacts given on user submissions
- Manages user submissions to restricted video channels in order to present a streamlined experience to users
- Submissions are rate-limited based on built user trust and account age
git clone https://github.com/FoxxMD/MTVDiscordBot.git .
cd MTVDiscordBot
nvm use # optional, to set correct Node version
npm install
npm build
npm start
git clone https://github.com/FoxxMD/MTVDiscordBot.git .
cd MTVDiscordBot
Or foxxmd/mtv-discord-bot:latest
If using a config file modify the volumes
property in docker-compose.yml
to point to your config folder.
docker-compose up -d
Create a Discord Bot
You will need to provide:
- Discord Bot Token -- created when you initially made the bot
- Oauth2 Client ID -- Found on the OAuth2 section in the bot's application page
See config.yaml.example.
- For local installations this should be located in
PROJECT_DIR/data/config.yaml
- For docker mount a folder into container at
/config
IEdocker run ... -v /path/on/host/config:/config
Highly recommended. Create Youtube and Vimeo application credentials. These will enable these features:
- Automatic title and video duration parsing for these platforms
- Automatic Creator entity creation from videos with full IDs, NSFW flags, and popular flags
- Creator association to Discord users for these platforms
All interaction with the bot is done through Discord Slash Commands.
The below usage is an overview and not ehxuastive documentation. Each command has its own description and options that can be discovered through discord.
Display or set guild-level bot behavior such as setting channel categories for showcase posts, setting allowed video min/max length, setting firehose channel...
Display and manage special MTV role type associated to Discord roles. Role types are associated to a discord role and give users that have those roles special behavior within MTV Bot.
Roles include:
Approved
- Users with this role type can bypass the age check for submission.Janitor
- TBDTOS
- If any discord roles are associated with this role type then users using/submit
must have one of these roles in order to submit (AKA read-the-rules verification role)Content Creator
- Discord role to set/unset on a User when they are given or have a creator associated removed.
Manage discord user associations to platform creators. Only supported for Youtube and Vimeo creators (and only if their APIs are enabled with valid configs).
Users who are associated will get the Content Creator
associated discord role, be able to bypass the 20% self-promo rule for their own channels, and will be mentioned in video submissions/showcase posts.
The command used to submit a new submission to the Firehose channel.
Used to display stats/level/summaries for users.