A base for developing Discord.js bots, written in TypeScript.

Overview

Nyx


Nyx is a Discord bot template written in Typescript, supporting most of Discord.js' features alongside tools useful for bot development.
πŸ‡ͺπŸ‡Έ README en EspaΓ±ol

Nyx is released under the MIT license. PRs welcome! PRs welcome!

πŸ“š Introduction

This is a template for giving developers (and myself) an easy but robust start to develop a bot.

The template as it is is not completely meant to be used for big public bots since it doesn't support crucial stuff for it like Sharding, or, ironically, it supports stuff that they don't need like message commands, though you can always adapt this to your liking.

The bot is 100% working just by cloning the repo, installing dependencies and setting up your config.json, and, as a matter of fact, it includes some example commands to see the possibilities of the bot.

This template is greatly inspired by Modbot.

✨ Features

All of these features are included on the template. You can modify each of them to your liking or add more of them.

Events

  • Register many actions per event, or listen to your own.

Schedules

  • Schedule actions to happen only at a certain time or every once on a while.
  • Stop and resume Schedules to your liking.
  • Using Cron to power the schedules.

Commands

  • Both message and slash command support with only one declaration.
  • Subcommand support, registered on Discord as well.
  • Add your own argument parsing for message commands, and the one already provided by Discord for interactions.
  • Command aliases (only message commands), command description and command syntax support.
  • Multiple prefixes support.
  • Command categories support based on folder names.
  • Permission checking (Members can only execute commands if they have certain permissions) support.
  • Autocompletions support: answer to autocompletes as you'd like.
  • Discord's context menus (User Commands and Message Commands) support.
  • Default support for DM commands, can be turned off per command.
  • Colorize your commands by adding a defaultColor to their data.

Other

  • Built-in Prisma support for easier and faster database managing.
  • Built-in Tracer support for powerful logging.
  • (Theorically but not really practical?) Support for multiple bots running at once.

πŸ“– Usage

Refer to the Wiki for steps to use the template.

🌐 License

LICENSE

Nyx is licensed under the MIT License, linked above.

If you don't want to bother reading it all, here's what you need to know:

  • βœ… You can: Modify the software for your personal or public usage, distribute it freely and/or commercially.

  • ❌ You can't: Change the license, though you can include it inside a proyect with a more restrictive license, but the original code stays licensed under MIT.

  • πŸ“ You need: To include the copyright (LICENSE file) inside the modified code.

You don't need to explicitly give credit to this repository (all the credit is inside LICENSE already), but I'll be grateful if you do so πŸ’™ .

🚧 Disclaimers

  • To avoid meaningless commands, only the first name is used to register slash commands. The rest only work for message commands.
  • There are some parts (like static overriding on Commands data) that aren't exactly pretty. The template is always open to suggestions and/or PRs.
Comments
Releases(v1.1.0)
  • v1.1.0(Jun 2, 2022)

    Features

    • MessageArgumentsParser: add automatic message argument parsing (2fb1f5c)
      • Message arguments are now automatically parsed
      • Deprecated AbstractCommand#parseOptions()

    Fixes

    • HelpCommand: fix crash on commands without subcommands (3fcef60)
    • Types: introduce SubclassConstructor, CommandSubclass, SubCommandSubclass and SubcommandableCommandSubclass typings (feca37f)

    Ci

    • Renovate: add Renovate (0712a20)
    • Actions: add Build GitHub action (60ec36b)
    Source code(tar.gz)
    Source code(zip)
Owner
null
Grupprojekt fΓΆr kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet fΓΆr kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide FΓΆr information om hur utv

Svante Jonsson IT-HΓΆgskolan 3 May 18, 2022
Hemsida fΓΆr personer i Sverige som kan och vill erbjuda boende till mΓ€nniskor pΓ₯ flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo fΓΆr kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Deta Base UI - A place with more functionality for managing your Deta Base(s).

Deta Base UI - A place with more functionality for managing your Deta Base(s). ✨ Features: Total rows count Quick multi select (click and shift) Searc

Harman Sandhu 13 Dec 29, 2022
a full functional discord bot to send moomoo.io bots

MooMooBot a discord bot which does moomoo.io stuff commands !send <server> <name> ex: !send 8:0:0 Nuro !token (generates a token to test if there's n

Nuro 4 Jun 1, 2022
A chat logs online saver for discord bots to save messages history & cleared messages online

Chat Logs NPM package that saves messages online to view it later Useful for bots where users can save messages history & cleared messages online Supp

TARIQ 8 Dec 28, 2022
Store data using zero width spaces! Might be useful for discord bots.

ZWSP Store data using zero width spaces! Might be useful for discord bots. Installation npm i zwsp Usage Import the library: import { encode, decode}

Xaro 8 Dec 12, 2022
πŸ€– Makes it easy to create bots on discord through a simple command handler

MyBotHelper.JS ?? About facilitates the creation of bots via discord.js, the repository already has a main script that automatically synchronizes and

Marcus Rodrigues 4 Dec 31, 2022
OBL is a free, libre and open source botlist for Discord, Revolt, Telegram and Guilded. No nfts,no web3,no daos. only bots lol

OBL (aka OpenBotList) Obl is a free,libre and open source botlist for Discord, Revolt, Telegram and Guilded that has free bananas ( Revolt, Telegram a

OpenBotList Foundation 10 Sep 26, 2022
A Full-Featured Modern Dashboard Template for Discord Bots

D-Dash: Discord Bot Dashboard A Full-Featured Dashboard Template for Discord Bots You can modify config/config.js to edit configuration without touchi

MONEY 33 Jan 8, 2023
A Very Good Anti Nuke Bot that is better then those "premium" discord bots.

AntiNuke AntiNuke Bot What is AntiNuke? A Open Source Discord Anti Nuke Bot to stop Raids, Nuking, and Mass Dms. ONLY THE RELEASE VERSION WORKS AT THE

Basic Sellout 1 Dec 29, 2022
A framewok for building efficient and scalable, cross-platform bots (WhatsApp, Discord, Telegram and more) in a single codebase

project... An over-engineered all-in-one bot framewok for building efficient and scalable bots. Yep that's not a typo u heard it right "scalable bots"

Shubham Badgujar 6 Dec 24, 2022
Template to start developing a REST API with Node.js (Express), TypeScript, DDD, etc. πŸ”°πŸ¦Έ

Typescript DDD Boilerplate Plantilla para una API con Typescript basada en arquitectura DDD. En quΓ© consiste este proyecto Este proyecto es un punto d

Bryan Herrera ~ ርᚱ1αŠ“α‰°α›° αš»αˆ…αš₯α‰°αƒžαš± 3 Nov 26, 2022
A library for controlling the Minecraft Console Client and making bots for it in JavaScript/TypeScript.

MCC.jS About A work in progress JavaScript/TypeScript library for remote control and bot creation for the Minecraft Console Client using RPC over WebS

Anon 2 Sep 14, 2022
A discord.js v14 bot base

A simple Discord.js version 14 base. It contains a slash command handler, event handler, and an example for the new modals.

astrid 5 Mar 17, 2022
A base project for Express with Typescript to create an API. Includes automatic input validation and Swagger UI generation.

(Typescript) Express API with input Validation and Swagger UI Thats a mouthful isn't it. Typescript: The language used, a superset of Javascript with

Tjeerd Bakker 6 Oct 26, 2022
A Lua plugin, written in TypeScript, to write TypeScript (Lua optional).

typescript.nvim A minimal typescript-language-server integration plugin to set up the language server via nvim-lspconfig and add commands for convenie

Jose Alvarez 315 Dec 29, 2022
Screeps Typescript Starter is a starting point for a Screeps AI written in Typescript.

Screeps Typescript Starter Screeps Typescript Starter is a starting point for a Screeps AI written in Typescript. It provides everything you need to s

null 3 Jan 27, 2022
🐬 A simplified implementation of TypeScript's type system written in TypeScript's type system

?? HypeScript Introduction This is a simplified implementation of TypeScript's type system that's written in TypeScript's type annotations. This means

Ronen Amiel 1.8k Dec 20, 2022