/Terminal

A modular Discord Bot implemented with the official JavaScript Discord API wrapper, with Heroku hosting integration. Developed using ES6 JavaScript syntax. Fully supports Slash Commands.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Terminal ™

About

A multipurpose Discord server bot created using the official JavaScript Discord API wrapper.

Features

  • 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.

Commands

Fun

  • /avatar: Displays a user's avatar.
  • /meme: Fetches a Reddit meme from a subreddit of the user's choice.

General

  • /bot info: Displays general bot information.
  • /ping: Displays the ping.
  • /server info: Displays general server information.

Server Moderation

  • /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 in src/utils/roleReactions.js.

Installation and Usage

Local Machine

  • 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 your launch.json file. If you don't want to do that, you can hard code them in config.js.
  • Run npm start to get the bot up and running!

Heroku

  • 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.