Skip to content

gagbot.js is a JavaScript implementation of GaGBot, a general-purpose, extensible bot for Discord servers.

License

Notifications You must be signed in to change notification settings

kylrs/gagbot.js

Repository files navigation

gagbot.js

GaGBot is a utility bot for discord servers, written in JavaScript for Node.js

To get the latest stable release, check out the releases page.

Features

  • Module Loader - GaGBot can dynamically load modules that define new commands and events, making implementing custom features a breeze! (r20.1.0)
  • Permissions - Fine-tune access to custom commands with simple permission nodes per role. (r20.1.0)
  • Greet Module - Send new users a welcome message when they join the server. (r20.2.0)
  • Reaction Roles - Allow users to assign themselves specific roles by reacting to messages. (r20.2.0)

Upcoming Features

  • Admin Module - Commands for managing the server, e.g. purging channels, muting users, and so on.
  • Custom Logging - Keep track of server activity by choosing what events are logged, and where.
  • Promotion Tracks - Allow users to earn roles, with ladders that they can climb automatically.

Got a good idea? Open an issue and start the discussion!

Alternatively, you could contribute to one of these features! Look for open issues that are awaiting your action.

Getting Started

Prerequisites

  • Install git
  • Install node, version 14.0.0 or later
  • Install npm
  • A MongoDB server.

Installation

  1. Create a Discord Application and get a Bot Token
  2. Invite the bot to your server.
  3. Clone the repo or grab a stable release (recommended)
  4. Install the bot
  cd /gagbot.js
  npm install
  1. Create an environment variable named DISCORD_TOKEN, and set it to your bot's token.
    • If you're using the admin module, you should also supply the environment variables PASTEBIN_DEV_KEY, PASTEBIN_USER_NAME and PASTEBIN_USER_PASSWORD, containing your Pastebin API developer key, username and password respectively. This is especially necessary for large servers where the prune command may select inactive members in excess of the number the bot is able to list in a MessageEmbed.
  2. Add your MongoDB connection string to an environment variable named MONGO_DB_URI.
  3. Run the bot. If all goes well, you'll see the modules being loaded, followed by a message that your bot has logged in to Discord.
  node src/bot.js
  1. You can test your bot using the ping command in your server chat, which is included in the core module. By default, you can either tag the bot to summon it, or use the prefix !.

  2. Configure GaGBot!

Built With

Versioning

We use MAJOR.MINOR.PATCH semantic versioning in two different flavours. One for versioning code, and the other for releases. For more information, visit the wiki.

The latest stable release is r20.1.0.

Contributors

License

This code is licensed under the ISC License - see LICENSE.md for details.

About

gagbot.js is a JavaScript implementation of GaGBot, a general-purpose, extensible bot for Discord servers.

Resources

License

Code of conduct

Stars

Watchers

Forks