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
config/config.json
(copyconfig.example.json
and rename the copy toconfig.json
)DiscordToken
: The bot's Discord tokenMongoDB
: The MongoDB connection string (default:mongodb://localhost:27017
)ClientId
: The bot's Discord IDDatabaseName
: The name of the MongoDB databaseCollectionName
: The collection name of the MongoDB databaseMaxBadges
: The maximum badges a user can have (default:5
)ExtraBoostBadges
: The amount of badges added to booster's allowance (default:5
)PromptChannel
: The channel to send the badge requests toVerifierRole
: The role ID of people who can approve requestsDomains
: An array of whitelisted domains for badgesBucketEndpoint
: The URL to upload to the bucketBucketPort
: The port to upload to the bucket. (default:443
)BucketAccessKey
: The bucket's access keyBucketSecretKey
: The bucket's secret keyBucketName
: The bucket's nameBucketDomain
: The bucket's public facing URL
- Install packages using a node package manager (I suggest PNPM):
pnpm i
- Build:
pnpm build
- Run:
pnpm start