Skip to content

pnboliveira/gumshoe-discord-bot

Repository files navigation

Gumshoe - A TypeScript Discord bot

Gumshoe is a Discord bot built completely in TypeScript using the discord.js and Sequelize libraries.

Installation

Requirements

  • Node v16.14.0 or newer;
  • A free Discord Account and server;
  • A SQL database (MariaDB, Postgres, MongoDB, etc)
  • An Application created in the Discord Developer Portal;

Steps

  • After downloading the files, access the folder and run npm ci to install the required modules;
  • Create a new .env file in the root of the folder according to the example environment file and add the required parameters. (HINT: follow this guide from the official DiscordJS guide, which this project is utilizing.)
  • To run the project, run npm start.

Features

Command Generator

To generate a new command, type npm run create:command and follow the CLI instructions. This will:

  • Create a new category and command under src/commands
  • Assign the chosen category for the command.
  • Generate a base working template with a command of your choosing: reply, role or a blank template.

More information about commands can be found on the official DiscordJS guide.

Command Deployments

To deploy your newly created commands, run npm run update:commands. This will check the current commands and will update your server with a list that the bot can execute.

Deployment

Part of the deployment will be done using Docker and Kubernetes.

This section is coming soon!

Testing

This project uses ESLint to verify if the project has the proper code set up and written. To make sure your code is correct before you start the project, run npm run test:lint.

This will check the current code and will alert you of any linting errors. (If you use VSCode and have the ESLint plugin installed, this will show automatically!)

License

This project is open-sourced software licensed under the MIT license.

About

A simple TypeScript Discord Bot using Discord.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published