🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)
🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)

🔧 Programmierung 🕛 kürzlich 5 Min Lesezeit
0

NEW DISCORD.JS BASED FRAMEWORK

↗ Quelle (dev.to)
🗣️ Stimme:




Building Discord Bots Shouldn't Feel Like Wiring Everything Together — Meet Nexcord



If you've ever built a Discord bot with discord.js, you've probably ended up writing code that looks something like this:




  • Register every command manually.

  • Register every event manually.

  • Create service instances yourself.

  • Pass dependencies through constructors.

  • Keep import lists up to date as the project grows.



None of these tasks are particularly difficult.



But after you've done them dozens of times, they start feeling more like maintenance than development.



After working on several Discord projects, I found myself wanting something closer to the experience of frameworks like NestJS or Angular, while still keeping everything I like about discord.js—its flexibility, performance, and ecosystem.



That's how Nexcord started.









What is Nexcord?



Nexcord is a decorator-driven, dependency-injection-powered framework built on top of discord.js.



Rather than spending time wiring your application together, you simply describe what each class is responsible for.




CODE
@Service()
export class GreetingService {
greet(name: string) {
return `Welcome ${name}!`;
}
}

@Listener()
export class MemberListener {
constructor(private readonly greeting: GreetingService) {}

@On('guildMemberAdd')
async execute(member: GuildMember) {
await member.send(
this.greeting.greet(member.user.username)
);
}
}






There's no need to manually create services.



No event registration to keep track of.



No growing bootstrap file that slowly turns into hundreds of lines.



Nexcord discovers your classes automatically, builds the dependency graph, and wires everything together for you.









Dependency Injection without the Boilerplate



Dependency Injection isn't a new idea.



What interested me was bringing the same experience to Discord bot development.



Every class decorated with one of Nexcord's decorators automatically becomes part of the dependency injection container.




CODE
@Service()
class QuoteService {}

@SlashCommand(...)
class QuoteCommand {
constructor(
private readonly quotes: QuoteService
) {}
}






If QuoteService depends on another service...



...and that service depends on another...



...Nexcord resolves the entire dependency graph automatically.



Each service is instantiated only once and shared across the application, so you don't have to think about lifecycle management.









Convention over Configuration



One thing that always bothered me in larger projects was maintaining registration files.



Every new command or listener meant adding another import somewhere.



Eventually those files became longer than the actual feature I was implementing.



Nexcord takes a different approach.




CODE
src/
├── commands/
├── events/
├── configs/
├── common/






When the application starts, these folders are scanned automatically.



Add a new command.



Run the bot.



That's it.



No extra registration step.









Guards for More Than Commands



Most Discord frameworks offer middleware, but it's usually tied to slash commands.



I wanted something that worked everywhere.



That's why Nexcord introduces Route Forwarding Guards.



A guard can target:




  • individual listeners

  • commands

  • groups of handlers

  • wildcard patterns

  • regular expressions

  • prefixes and suffixes



For example:




CODE
@Guard(
{ MemberListener },
"checkCooldown->MemberListener::onMessage"
)






If the guard returns false, execution stops before the listener ever runs.



The same mechanism works consistently for commands and events, so you don't need different middleware systems depending on what you're handling.









Shared Configuration that Understands Dependency Injection



Configuration is often more than static strings.



Sometimes generating a configuration value requires access to another service.



That's the reason I built @nexcord/config.



Instead of writing something like this during startup:




CODE
const prefix = prefixService.get();






you register the configuration once.




CODE
registerConfig(
"messages.welcome",
(prefix: PrefixService) =>
`Type ${prefix.get()}help`,
PrefixService
);






Nexcord automatically resolves PrefixService.



The value is computed once and becomes available everywhere through ConfigService.



For values that require the Discord client to already be connected, there's also registerConfigWait().









JSX for Discord Components



Anyone who's built more complex Discord UIs knows that component builders can become fairly verbose.



Buttons.



Embeds.



Select menus.



Modals.



Components V2.



All of them involve long builder chains that can quickly become difficult to read.



Nexcord includes @nexcord/tsx, a JSX runtime designed specifically for Discord components.




CODE
<button
id="confirm"
label="Confirm"
style="success"
action={ConfirmAction}
/>






This compiles directly into the appropriate discord.js builders.



There's no virtual DOM.



No rendering engine.



Just a cleaner, more expressive syntax for creating Discord components.









Built Around an Ecosystem



Nexcord is currently made up of three packages.





  • — dependency-injection-aware shared configuration.


  • @nexcord/tsx — a JSX runtime for Discord components.



Each package can be used independently.



Together, they provide a more structured and enjoyable development experience.









Why I Built It



Nexcord wasn't created because Discord needed another library.



discord.js already does an excellent job.



The motivation was different.



I wanted to spend less time wiring projects together and more time building actual features.



Less repetitive setup.



Cleaner architecture.



Automatic discovery.



Dependency injection.



Better organization as projects grow.



Nexcord doesn't try to replace discord.js.



It simply aims to provide a higher-level development experience on top of it.









Current Status



Nexcord is currently in beta.



The core architecture is already in place, but there are still APIs I'm refining before the 1.0 release.



This stage is where feedback matters the most.



Many of the decisions that will shape the stable release are still open to improvement, so hearing how other developers approach Discord bot development is incredibly valuable.



If you're interested in building larger Discord bots with a more structured architecture, I'd genuinely love to hear your thoughts.



Thanks for reading.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Hackers Just Poisoned the Rust Supply Chain | Threat Wire
1 Quelle
Hackers Found a Way Into Humanoid Robots | Threat Wire
1 Quelle
Bits und so #1021 (Passwort für Laufwerk)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten NEW DISCORD.JS BASED FRAMEWORK

Thematisch verwandte Begriffe: DISCORDJS, BASED, FRAMEWORK · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...