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.example
and 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:5242880
5mb)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