Files
discordeno/packages/bot
Fleny f40da4c1cf feat(bot)!: Add type helpers for type-level based desired props (#3954)
* Add type helpers for typeLevel based desired props

This also fixes / added a few stuff that was missing in exiting
types & transformers, however due to this a few transformers got a
breaking change due to the need to pass down the shardId

* Fix benchmark type error

* Add the generics to createBot / Bot / ..

This caused a lot of breaking changed due to the required generics on a
bunch of types

* Fix benchmark type error?

* Fix benchmarks type error

* Fix E2E test type error

* remove defaultDesiredPropertiesValue

* Remove `internal` jsdoc from CompleteDesiredProprieties

* Add tests for createDesiredPropertiesObject

* Fix interaction.bot type

* Remove Capitalize type helper

It is already built-in into typescript as an intrinsic

* Fix typo

* Update message on missing desired properties

* Fix CI

* Move infer types to 'transformers.$inferredTypes'

* Fix CI

* Fix CI, again

* Use GatewayHandlers in params of create function

* change default behavior to remove key

* Fix CI

* fix types for e2e test
2024-11-17 08:37:41 -06:00
..

Discordeno

Discord API library for Node.JS, Deno & Bun

Discord codecov action status

Discordeno is actively maintained to guarantee excellent performance, latest features, and ease of use.

  • Simple, Efficient, and Lightweight: Discordeno is lightweight, simple to use, and adaptable.
    • By default: No caching.
  • Functional API:
    • The functional API eliminates the challenges of extending built-in classes and inheritance while ensuring overall simple but performant code.
  • Cross Runtime: Supports the Node.js, Deno, and Bun runtimes.
  • Standalone components: Discordeno offers the option to have practically any component of a bot as a separate piece, including standalone REST, gateways, custom caches, and more.
  • Flexibility/Scalability: Remove any properties, if your bot doesn't need them. For instance, remove Channel.topic if your bot doesn't require it. You may save GBs of RAM in this way. A few lines of code are all that are needed to accomplish this for any property on any object.

Custom Cache

Have your cache setup in any way you like. Redis, PGSQL or any cache layer you would like.