All Projects â†’ hershel â†’ hershel

hershel / hershel

Licence: MIT license
🤖 Modular and minimal Discord bot framework for Node.js

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to hershel

bulbbot
Take Discord Moderation to the next level
Stars: ✭ 102 (+628.57%)
Mutual labels:  discord-bot
TomokoBot
Hi! I am Tomoko, a Discord Bot for moderation, fun, levels, music and much more!
Stars: ✭ 35 (+150%)
Mutual labels:  discord-bot
Ren
As a mascot for the SFU Anime Club, Ren is our in-house Discord bot. Includes first/third party modules that are in use.
Stars: ✭ 16 (+14.29%)
Mutual labels:  discord-bot
auto
A code scanner Discord bot.
Stars: ✭ 15 (+7.14%)
Mutual labels:  discord-bot
Jarvide
jarvide is a mix of an AI and an IDE that can securely run, save, edit, read, create, rename files all with a couple clicks of buttons.
Stars: ✭ 22 (+57.14%)
Mutual labels:  discord-bot
discord-against-humanity
cards against humanity, integrated into discord
Stars: ✭ 21 (+50%)
Mutual labels:  discord-bot
discord-music-quizzer
Discord music quiz bot
Stars: ✭ 18 (+28.57%)
Mutual labels:  discord-bot
discord-supervisor-bot
An advanced Discord supervisor bot.
Stars: ✭ 53 (+278.57%)
Mutual labels:  discord-bot
mass-dm-discord
A MassDM selfbot which is working in 2021. Only for educational purposes 🥱🚀
Stars: ✭ 87 (+521.43%)
Mutual labels:  discord-bot
Welcome-Bot
A cool multi-purpose discord bot that solves all your problems. I have features such as Moderation, ModLog, Welcome & Goodbye logs, Fun, Music
Stars: ✭ 73 (+421.43%)
Mutual labels:  discord-bot
support-bot-with-buttons
A Support Bot For Your Server.Easy To Host.Work with Buttons Interaction.
Stars: ✭ 44 (+214.29%)
Mutual labels:  discord-bot
Commando
[DEPRECATED] âš« Commando Discord bot built on discord.js-commando.
Stars: ✭ 78 (+457.14%)
Mutual labels:  discord-bot
CommandCleanup
CommandCleanup, a discord.js bot for maximum chat moderation.
Stars: ✭ 57 (+307.14%)
Mutual labels:  discord-bot
Cleve
Open sourced Discord chat bot powered by brainshop.ai
Stars: ✭ 30 (+114.29%)
Mutual labels:  discord-bot
robot-is-you
Discord bot for servers about the indie game "Baba Is You"
Stars: ✭ 20 (+42.86%)
Mutual labels:  discord-bot
DM-BOT
📧 DM-BOT is discord bot that can record direct messages. One of us! You can also reply to those messages! DM-BOT is easy to use & understand! I decided to use Discord.js, it's literally the best.
Stars: ✭ 31 (+121.43%)
Mutual labels:  discord-bot
sharedsharder
Shard your discord.js bot across devices!
Stars: ✭ 18 (+28.57%)
Mutual labels:  discord-bot
Discord Fork
An open source Discord Bot List made with GatsbyJS
Stars: ✭ 60 (+328.57%)
Mutual labels:  discord-bot
ALi
ALi a powerful Discord bot that includes Utility, Fun, Music, Moderation, and much more! (Beta)
Stars: ✭ 97 (+592.86%)
Mutual labels:  discord-bot
thunder-java
Thunder the legendary bot that now come out reborn!
Stars: ✭ 22 (+57.14%)
Mutual labels:  discord-bot

This project is no longer maintained.

Seeing the evolution of Discord's decisions regarding the bot ecosystem, I am no longer interested in contributing to the creation and maintenance of Discord bots. More informations here


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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].