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

    3.0.0¬†‚Äʬ†Public¬†‚Äʬ†Published

    Hershel

    A framework for modular and blazing fast Discord bots

    Hershel on npm Travis CI Coveralls Prettier MIT License


    demo

    Hershel is a small, highly modular Discord bots framework based on the fact that you don't need to embed unnecessary features / code in your bot project. Hershel allows you to write your own message processing logic or to use the packages at your disposal to build an awesome Discord bot.

    Install

    npm i hershel
    

    Example

    // require Hershel's Client
    const { Client } = require('hershel')
     
    // instantiate it
    const bot = new Client({
      logger: true,
    })
     
    bot.use(({ message, state }, next) => {
      if (message.author.bot) return
     
      state.permission = getPermissionFor(message.author)
     
      next() // call next middleware
    })
     
    bot.use(async ({ message, createReply, state }) => {
      // use Hershel's reply API
      const response = createReply()
     
      await response // response is an embed by default
        .setTitle('Echo... Echo... Echo...')
        .setAuthor(`${message.author} with perm ${state.permission.level}`)
        .setDescription(message.content)
        .setFooter('Powered by Hershel')
        .send() // returns a promise
     
    ¬†¬†await¬†response.setTitle('Update¬†embed¬†title¬†ūüôą').update()
    })
     
    bot.login(process.env.DISCORD_TOKEN)

    Do you want to know more? Head to the Getting Started.

    Features

    • Modular: Hershel supports plugin and decorator to make it extremely modular and extensible.
    • Logging: We all like clean and clear logs. We use Pino, a super fast, json logger.
    • Fast: No more useless feature loading you don't use.

    Documentation

    Related

    Thanks

    Thanks to Algorythmis for his corrections of the code. Thanks also to Bit My Code for their support and their ūüíĖ.

    Hershel uses part of Fastify's theoretical logic & documentation layout, a fast and low overhead web framework for Node.js.

    License

    MIT

    Install

    npm i hershel

    DownloadsWeekly Downloads

    2

    Version

    3.0.0

    License

    MIT

    Unpacked Size

    40.9 kB

    Total Files

    31

    Last publish

    Collaborators

    • helloedit