Giter Site home page Giter Site logo

7cmc-bot's Introduction

Discord Bot TypeScript Template

discord.js License Stars Pull Requests

Discord bot - A discord.js bot template written with TypeScript.

Introduction

This template was created to give developers a starting point for new Discord bots, so that much of the initial setup can be avoided and developers can instead focus on meaningful bot features. Developers can simply copy this repo, follow the setup instructions below, and have a working bot with many boilerplate features already included!

For help using this template, feel free to join our support server!

Discord Shield

Features

Built-In Bot Features:

  • Basic command structure.
  • Rate limits and command cooldowns.
  • Welcome message when joining a server.
  • Shows server count in bot status.
  • Posts server count to popular bot list websites.
  • Support for multiple languages.

Developer Friendly:

  • Written with TypeScript.
  • Uses the discord.js framework.
  • Built-in debugging setup for VSCode.
  • Written with ESM for future compatibility with packages.
  • Support for running with the PM2 process manger.
  • Support for running with Docker.

Scales as Your Bot Grows:

  • Supports sharding which is required when your bot is in 2500+ servers.
  • Supports clustering which allows you to run your bot on multiple machines.

Commands

This bot has a few example commands which can be modified as needed.

Help Command

A /help command to get help on different areas of the bot or to contact support:

Info Command

A /info command to get information about the bot, links to different resources, or developer information.

Test Command

A generic command, /test, which can be copied to create additional commands.

Welcome Message

A welcome message is sent to the server and owner when the bot is added.

Setup

  1. Copy example config files.
    • Navigate to the config folder of this project.
    • Copy all files ending in .example.json and remove the .example from the copied file names.
      • Ex: config.example.json should be copied and renamed as config.json.
  2. Obtain a bot token.
    • You'll need to create a new bot in your Discord Developer Portal.
      • See here for detailed instructions.
      • At the end you should have a bot token.
  3. Modify the config file.
    • Open the config/config.json file.
    • You'll need to edit the following values:
      • client.id - Your discord bot's user ID.
      • client.token - Your discord bot's token.
  4. Install packages.
    • Navigate into the downloaded source files and type npm install.
  5. Register commands.
    • In order to use slash commands, they first have to be registered.
    • Type npm run commands:register to register the bot's commands.
      • Run this script any time you change a command name, structure, or add/remove commands.
      • This is so Discord knows what your commands look like.
      • It may take up to an hour for command changes to appear.

Start Scripts

You can run the bot in multiple modes:

  1. Normal Mode
    • Type npm start.
    • Starts a single instance of the bot.
  2. Manager Mode
    • Type npm run start:manager.
    • Starts a shard manager which will spawn multiple bot shards.
  3. PM2 Mode
    • Type npm run start:pm2.
    • Similar to Manager Mode but uses PM2 to manage processes.

Bots Using This Template

A list of Discord bots using this template.

Bot Servers
Birthday Bot
QOTD Bot
Friend Time
Bento
NFT-Info
Skylink-IF
Topcoder TC-101

Don't see your bot listed? Contact us to have your bot added!

7cmc-bot's People

Contributors

kevinnovak avatar scottbucher avatar khernand avatar djstompzone avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.