Skip to content

An Npm package which contains a framework for making discord bots that I used to use for maintain 5 bots at once. This is a personal project so documentation on how to use the framework will not be provided

License

zS1L3NT/ts-npm-nova-bot

Repository files navigation

Nova Bot

License nova-bot Languages Top Language Commit Activity Last commit

Nova Bot is a Discord Bot framework built mainly to make it easier for me to maintain all my discord bots. It provides very limited flexibility but allows building powerful and bug-free Discord bots very quickly.

Motivation

I built this Discord Framework because when I built many different Discord bots, I used the same template code across all the frameworks, and it became difficult tracking which bots have the latest changes to the template. So I decided to make this a framework so that I could maintain all my bots with much more ease.

Features

  • Cache guild information in PostGres so that guild data doesn't reset everytime the bot is redeployed
  • Nova will read each command dynamically according to the filenames for each command.
    • If you have a file /slashs/play, Nova will register a /play slash command and use the data in the file as the metadata and callback of the slash command
    • Same works with
      • /buttons for button interactions
      • /selectmenus for select menu interactions
      • /messages for message commands
      • /events for discord events
  • A Bot-wide and Guild-wide caching system to store information about the Bot and individual Guilds.
  • Dynamic help command builder which reads from the /slashs and /messages folders to find out all the available commands to interact with the bot
  • Allow bot to constantly clean messages in one channel to make sure it is the only one with messages in the channel. This is useful for
    • Music Queues as the only message in the channel
    • Calendar bots to only show calendar related messages sent by the bot in the channel
  • Allows custom logging of events happening like
    • Initialization of the bot
    • Alerts, Warnings and Errors in the code
    • A slash command being used
    • A button interaction being used
    • A select menu interaction being used
    • A message command being used

Usage

I don't intend to write any documentation for this framework since the framework was build primarily for my use, and not for public use.

Built with

  • TypeScript
    • @types/luxon
    • @types/node
    • discord-api-types
    • typescript
  • DiscordJS
    • @discordjs/rest
    • discord.js
  • Prisma
    • @prisma/client
    • prisma
  • Miscellaneous
    • after-every
    • escape-string-regexp
    • luxon
    • no-try

About

An Npm package which contains a framework for making discord bots that I used to use for maintain 5 bots at once. This is a personal project so documentation on how to use the framework will not be provided

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published