Skip to main content

@sern/handler

Handlers. Redefined.

A complete, customizable, typesafe, & reactive framework for discord bots

NPM versionNPM downloadsLicense MITdocs.rsLines of code

Why?

  • For you. A framework that's tailored to your exact needs.
  • Lightweight. Does a lot while being small.
  • Latest features. Support for discord.js v14 and all of its interactions.
  • Start quickly. Plug and play or customize to your liking.
  • works with bun and node out the box!
  • Use it with TypeScript or JavaScript. CommonJS and ESM supported.
  • Active and growing community, always here to help. Join us
  • Unleash its full potential with a powerful CLI and awesome plugins.

📜 Installation

Start here!!

👶 Basic Usage

ping.ts
export default commandModule({
type: CommandType.Slash,
//Installed plugin to publish to discord api and allow access to owners only.
plugins: [publish(), ownerOnly()],
description: 'A ping pong command',
execute(ctx) {
ctx.reply('Hello owner of the bot');
}
});
modal.ts
export default commandModule({
type: CommandType.Modal,
//Installed a plugin to make sure modal fields pass a validation.
plugins : [
assertFields({
fields: {
name: /^([^0-9]*)$/
},
failure: (errors, modal) => modal.reply('your submission did not pass the validations')
})
],
execute : (modal) => {
modal.reply('thanks for the submission!');
}
})

🤖 Bots Using sern

💻 CLI

It is highly encouraged to use the command line interface for your project. Don't forget to view it.

👋 Contribute

  • Read our contribution guidelines carefully
  • Pull up on issues and report bugs
  • All kinds of contributions are welcomed.