GlobalBadgeBot (GiBBy for short) is an internally used bot for Global Badges
- Create a discord bot with the following permissions (Detailed guide from Discord.JS):
- Send Messages (To send messages in the request channel)
application.commands(To create commands)
- Add the bot to your server
- Clone this repository (
git clone https://github.com/WolfPlugs/GiBBy) - Set configs in
.env(copy.env.exampleand rename the copy to.env)DISCORD_TOKEN: The bot's Discord tokenMONGO_DB: The MongoDB connection string (default:mongodb://localhost:27017)CLIENT_ID: The bot's Discord IDDATABASE_NAME: The name of the MongoDB databaseCOLLECTION_NAME: The collection name of the MongoDB databaseMAX_BADGES: The maximum badges a user can have (default:5)EXTRA_BOOST_BADGES: The amount of badges added to booster's allowance (default:5)MAX_BADGE_SIZE: The maximum badge size, in binary bytes. (default:52428805mb)PROMPT_CHANNEL: The channel to send the badge requests toVERIFIER_ROLE: The role ID of people who can approve requestsBUCKET_ENDPOINT: The URL to upload to the bucketBUCKET_PORT: The port to upload to the bucket. (default:443)BUCKET_SSL: Whether or not to use SSL. (default:true)BUCKET_ACCESS_KEY: The bucket's access keyBUCKET_SECRET_KEY: The bucket's secret keyBUCKET_NAME: The bucket's nameBUCKET_DOMAIN: The bucket's public facing URL. (default:https://s3.example.com)BLACKLISTED_WORDS: List of strings the badge name cannot contain
- Install packages using a node package manager (I suggest PNPM):
pnpm i - Build:
pnpm build - Run:
pnpm start