A multipurpose Discord server bot created using the official JavaScript Discord API wrapper.
- Modular Command Handling
- Modular Event Handling
- 24/7 Uptime through Heroku
- Server Welcome Messages: Sends a welcome message to the newly joined user's DM and the configured server welcome channel (if the welcome channel ID is set)
- Reaction Roles: Uses the /react slash command to add roles to users based on their reaction to a message. Configure roles and corresponding emotes in the
utils/roleReactions.js file.
Reaction Roles only work in the configured Reaction Roles channel. - Reddit Meme API Integration: Uses a custom Reddit Meme API to fetch a random meme from a user specified subreddit. Covers most subreddits.
/avatar:
Displays a user's avatar./meme:
Fetches a Reddit meme from a subreddit of the user's choice.
/bot info:
Displays general bot information./ping:
Displays the ping./server info:
Displays general server information.
/ban:
Bans a member from the server./invite:
Creates an invite link to the server./kick:
Kicks a member from the server./react:
Sends a message containing reaction roles specified insrc/utils/roleReactions.js
.
- Clone the repository and run
npm install
to install all the dependencies. - Configure your environment variables in
config.js
. In VS Code, you can set the environment variable values in yourlaunch.json
file. If you don't want to do that, you can hard code them inconfig.js
. - Run
npm start
to get the bot up and running!
- Fork this repository or create a new repository with the bot's code (Forking is preferred as you can fetch updates from the main repository easily).
- Create a new Heroku App and use GitHub for deployment.
- In Settings, use the heroku/nodejs buildpack and configure all your environment variables.
- Visit the Deploy tab and configure yor app to use GitHub.
- In Overview, switch off the web dyno and switch on the worker dyno.