Nominating Presidential Muppets

    TypeScript icon, indicating that this package has built-in type declarations

    1.1.2 • Public • Published

    Discord server NPM version NPM downloads Build status paypal

    Create a discord bot with TypeScript and Decorators!

    📖 Introduction

    This module is an extension of koa, so the internal behavior (methods, properties, ...) is the same

    This library allows you to use TypeScript decorators on koa, it simplifies your code and improves the readability!

    💻 Installation

    Version 16.6.0 or newer of Node.js is required

    npm install koa @koa/router @discordx/koa
    yarn add koa @koa/router @discordx/koa

    Install required types

    npm install --save-dev @types/koa__router
    yarn add --dev @types/koa__router

    🆕 Features

    • @Router to create a router on class
    • Support multiple server in a single nodejs instance (@Api)
    • Support TSyringe
    • Support ECMAScript

    📟 @Get / @Post ...

    Decorators for all koa methods, @Get @Post @All @Delete @Head @Link @Unlink @Options

    KOA instance available at the end of each handler's arguments


    class Example {
      handle(ctx: RouterContext, next: Next, koa: Koa): Promise<Next> {
        ctx.body = "Hello world!";
        return next();

    📟 @Middleware

    If you add middleware to a class, it will be executed on each route within it.


    function Log(ctx: RouterContext, next: Next) {
      console.log("request: " + ctx.URL);
      return next();
    function Authenticated(ctx: RouterContext, next: Next) {
      ctx.body = "unauthorized required";
      // we are not returning next, to avoid further execution
    @Middleware(Log) // will execute for all sub routes
    class Example {
      hello(ctx: RouterContext, next: Next): Promise<Next> {
        ctx.body = "Hello world!";
        return next();
      auth(ctx: RouterContext, next: Next): Promise<Next> {
        ctx.body = "Hello world!";
        return next();

    📜 Documentation

    ☎️ Need help?

    💖 Thank you

    You can support discordx by giving it a GitHub star.


    npm i @discordx/koa

    DownloadsWeekly Downloads






    Unpacked Size

    79.6 kB

    Total Files


    Last publish


    • iorp