Brindibot is a Discord bot made with discord.js. The name is a portmanteau word of the Pokemon Brindibou (french name of Rowlet) with the word Bot.
/rm add msg_id
role
emoji
Types: String, Role, String
Notes: This command create a reaction on a message that gives roles when a user react with it.
/rm del msg_id
(role)
(emoji)
Types: String, (Role), (String)
Notes: If no optional args are specified, all emoji<->roles associations on the specified message will be removed.
/roll (min)
(max)
Types: (Integer), (Integer)
Notes: /roll will returns a number between 1 and 100 (included) or between the optional arguments. If one of the args is not provided min or max will be replaced respectively by 1 and 100.
/settings language
Types: String
Notes: Change the language that the bot use in a server.
Setup a local MongoDB server or use an online service.
Don't forget to create a .env
in the project root folder
DISCORD_CLIENT_ID = client_id
DISCORD_GUILD_ID = guild_id
DISCORD_TOKEN = discord_token
DB_USERNAME = username
DB_URL = mongodb:abc
- Run
node .\deploy-commands.js
- To launch the bot, run
node .
- In
deploy-commands.js
(project root folder), uncomment// Routes.applicationGuildCommands(clientId),
and comment the above lineRoutes.applicationGuildCommands(clientId, guildId),
- Run
node .\deploy-commands.js
- To launch the bot, run
node .
https://discord.com/oauth2/authorize?client_id=CLIENT_ID&permissions=PERMISSIONS_INTEGER&scope=bot%20applications.commands
(Don't forget the %20applications.commands
at the end of the link)
Important: Once the bot is added, in Server parameter > Roles you need to ensure that the role of the bot is upper in the list than the roles that you want to make it gives.
The bot is developed with Discord.js v13.
This project use a linter, rules are stored in .eslintrc.json
.
- Command and event handler: discord.js Guide
- Database.js: Tyler Potts
- /help command
- Role Manager: add a list command
- Button Management
- A remind me command
- Time Zone Converter
- ✅ Localisation (Slash commands can't be translated yet)
See changelog
Brindibot v1.1.0
/roll
have now two optional args to let the user decide range of the roll.- Localisation system; to change the language the bot use type
/settings language
.
Supported languages: English (en) and French (fr).
Brindibot v1.0.0 (release)
- Discord.js
discord.js Guide - discordjs.guide
discord.js Setting up a linter - discordjs.guide/preparations/setting-up-a-linter.html#installing-a-code-editor
discord.js Documentation - discord.js.org/#/docs/main/stable/general/welcome
- Database
mongoosejs - mongoosejs.com
Free online MongoDB database - mongodb.com/atlas
- Miscellaneous
A nice video tutorial series by Tyler Potts to make a Discord Bot (Node.js, Discord.js v13) - youtube.com/watch?v=Qc9uPgGmQ7I
A website to preview your Markdowns files - stackedit.io
Calculate a Permissions integer discordapi.com/permissions.html