Jacob Nguyen 9a8904f5ae feat: v4 (#361)
* step 1

* Refactorings

* command modules do not depend on anything but itself

* tearing it up

* Remove module store, manager, and Intializable type

* consolidate interfaces in single file

* consolidate default services in single file

* TEAR IT UP

* fix text compile

* the end of sern init??

* Presence namespaced types removed

* internal namespace

* clean up dependencies

* fix test

* fix circular dependency

* still broken but progress

* remove barrel for core/structs

* reffactor

* refactor allat

* more refactoring

* prototyping linking static handler

* cleanup tests, codegen, and importing handler

* some refactor

* generify partition

* for now copy paste new ioc system

* removeiti

* fdsfD

* ensure container is init'd

* fix absPath gen

* working on bun compat

* refactor and clean up and reenter v3 module loading

* dsfsd

* refactor, add cron types, reinstante module loader

* ready handler revamped so much cleaner

* fdssdf

* refactor deps list

* add more tests, polish up ioc

* up to speed with event modules

* i think cron works

* cron works now, poc

* ksdjkldsfld

* updating ioc api, experimenting with cron

* save b4 thunder and lightning

* plugin data reduction & args changes

* freeze module after plugins, updateModule, and more

* simplify plugin args and prepare for reduction among plugins

* add deps to plugin calls and execute

* plugin system loking better, tbd type

* porg

* initplugins inject deps, inconspicuos

* fix faiklling test

* fix initPlugins not reassigning

* parsingParams kinda

* proper mapping

* dynamic customIds

* handling customId params working

* testing n shi

* inlineinignsd

* consolidate fmt

* once on eventModules

* refact,simplf

* readd vitest and Asset fn

* fix typings

* assets fn complete

* more intuitive context.options and Asset typings

* add init hooks not firing

* -file,-updateModule,publish?

* fix: ioc deps not created correctly

* documentation, add json for Asset

* remove asset

* ss

* finish ioc transition

* nvm, now i did

* s

* update locals api, docs, tests

* fix tests

* fix up tests and cleanup

* fix

* Update src/core/functions.ts

Co-authored-by: Evo <85353424+EvolutionX-10@users.noreply.github.com>

* better documentation

* temp fix

* namespace presence types again

* revising cron modules and better error messages

* scheduler ids

* more descriptive errors

* refactor to not type leak and job cancellation

* refactor n better signatures for task scheduler

* documentation

* fix swap not accepting functions

* change task signature

---------

Co-authored-by: Evo <85353424+EvolutionX-10@users.noreply.github.com>
2024-07-18 16:54:55 -05:00
2024-07-18 16:54:55 -05:00
2024-07-18 16:54:55 -05:00
2022-01-24 20:48:18 -06:00
2024-07-18 16:54:55 -05:00
2022-09-28 11:52:25 -05:00
2024-03-18 01:57:13 -05:00
2024-01-05 20:47:25 +01:00
2023-04-11 22:45:45 -05:00
2024-07-18 16:54:55 -05:00
2024-01-08 14:31:49 -06:00
2023-12-15 16:09:13 -06:00
2024-07-18 16:54:55 -05:00
2024-07-18 16:54:55 -05:00

Handlers. Redefined.

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

NPM version NPM downloads License MIT docs.rs Lines 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');
  }
});

🤖 Bots Using sern

  • Community Bot, the community bot for our discord server.
  • Vinci, the bot for Mara Turing.
  • Bask, Listen your favorite artists on Discord.
  • ava, A discord bot that plays KNGI and Gensokyo Radio.
  • Murayama, :pepega:
  • Protector (WIP), Just a simple bot to help enhance a private minecraft server.
  • SmokinWeed 💨, A fun bot for a small - but growing - server.
  • Man Nomic, A simple information bot to provide information to the nomic-ai discord community.
  • Linear-Discord Display and manage a linear dashboard.

💻 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.
Description
No description provided
Readme MIT 8.4 MiB
Languages
TypeScript 100%