All Projects → itsMapleLeaf → gatekeeper

itsMapleLeaf / gatekeeper

Licence: other
supercharge your discord commands by gatekeeping them in a flow of reactivity ⛓⚡

Programming Languages

typescript
32286 projects
shell
77523 projects

Projects that are alternatives of or similar to gatekeeper

DiscordTickets
A cool Discord bot to manage tickets on your server !
Stars: ✭ 46 (-11.54%)
Mutual labels:  discord-bot, discord-js
modmail.js
A Simple Discord Modmail Bot Template
Stars: ✭ 33 (-36.54%)
Mutual labels:  discord-bot, discord-js
NanoSpace
Erela.js & Discord.js@v14 (Prefix Commands!)
Stars: ✭ 59 (+13.46%)
Mutual labels:  discord-bot, discord-js
Discord-BOT-Dashboard
This version is outdated, please check out Discord BOT Dashboard v2
Stars: ✭ 32 (-38.46%)
Mutual labels:  discord-bot, discord-js
Azuma
A package that actually syncs your ratelimits across all your clusters on Discord.JS
Stars: ✭ 19 (-63.46%)
Mutual labels:  discord-bot, discord-js
lyrics-finder
🎤 | Search the lyrics to your music with Lyrics Finder
Stars: ✭ 20 (-61.54%)
Mutual labels:  discord-bot, discord-js
ZuraaaBot
Discord bot para o Zuraaa!
Stars: ✭ 17 (-67.31%)
Mutual labels:  discord-bot, discord-js
sara
A multi-functional bot that I never finish because I'm too lazy.
Stars: ✭ 11 (-78.85%)
Mutual labels:  discord-bot, discord-js
yumeko
Just an ordinary bot, where you hard copy the source you will get sin (maybe).
Stars: ✭ 23 (-55.77%)
Mutual labels:  discord-bot, discord-js
pickle-mod
Discord bot for server moderation purposes
Stars: ✭ 21 (-59.62%)
Mutual labels:  discord-bot, discord-js
Discord-EmojiToRole
A discord.js bot that assigns roles based on reactions to a message.
Stars: ✭ 55 (+5.77%)
Mutual labels:  discord-bot, discord-js
hellsnakebot
🤖About A fully customizable bot built with discord.js
Stars: ✭ 14 (-73.08%)
Mutual labels:  discord-bot, discord-js
discord-cryptocurrency-bot
cryptocurrency bot for Discord chat platform: checks exchange info, runs data analysis, fires automatic alerts, and more
Stars: ✭ 28 (-46.15%)
Mutual labels:  discord-bot, discord-js
PruneBot
PruneBot is an easy to use multi-purpose bot and it has a free open source code to setup your own prune bot to your own server.
Stars: ✭ 13 (-75%)
Mutual labels:  discord-bot, discord-js
partner-bot
Automates partnerships in the big community of discord.
Stars: ✭ 119 (+128.85%)
Mutual labels:  discord-bot, discord-js
michelle
An anime-centric bot for Discord
Stars: ✭ 12 (-76.92%)
Mutual labels:  discord-bot, discord-js
discord-voice
⏲️ A complete framework to facilitate the tracking of user voice time using discord.js
Stars: ✭ 33 (-36.54%)
Mutual labels:  discord-bot, discord-js
discord-js-bot
A cool multipurpose discord bot built using discord.js v13 with moderation, music, ticketing, translation, and much more
Stars: ✭ 135 (+159.62%)
Mutual labels:  discord-bot, discord-js
aero-bot
A general purpose discord bot that also functions as the flagship example bot using AeroClient
Stars: ✭ 11 (-78.85%)
Mutual labels:  discord-bot, discord-js
LenoxBot
🖥️ LenoxBot is a Discord bot that offers many cool new features to your Discord server!
Stars: ✭ 218 (+319.23%)
Mutual labels:  discord-bot, discord-js

TL;DR: Use Reacord

psst! This project isn't deprecated or anything (yet?), but I'm moving away from its development for a few reasons:

  • The command handling part is limited, and doesn't accomodate the use cases that a decent portion of bots need, e.g. being able to add a command for individual guilds
  • The reactivity part has gaps, and is also enforced in every case, including cases where it might be suboptimal

For that reason, I split out the reactivity part into a new library: Reacord. It allows you to leverage JSX, react state, as well as the react ecosystem, and is much more powerful than what gatekeeper offers to accomplish the same goal. I would recommend using Reacord if declarative and reactive messages are what you're looking for.

For command handling, I can't recommend a library for that (yet?), but you'll probably be able to build your own simple command handler.

gatekeeper

Gatekeeper is a reactive interaction framework for discord.js!

Install:

# npm
npm install @itsmapleleaf/gatekeeper discord.js

# yarn
yarn add @itsmapleleaf/gatekeeper discord.js

# pnpm
pnpm add @itsmapleleaf/gatekeeper discord.js

Here's a taste of what Gatekeeper looks like:

import { buttonComponent, Gatekeeper } from "@itsmapleleaf/gatekeeper"
import { Client, Intents } from "discord.js"

const client = new Client({
  intents: [Intents.FLAGS.GUILDS],
})

;(async () => {
  const gatekeeper = await Gatekeeper.create({
    client,
  })

  gatekeeper.addSlashCommand({
    name: "counter",
    description: "make a counter",
    run(context) {
      let count = 0

      context.reply(() => [
        `button pressed ${count} times`,
        buttonComponent({
          style: "PRIMARY",
          label: "press it",
          onClick: () => {
            count += 1
          },
        }),
      ])
    },
  })

  await client.login(process.env.BOT_TOKEN)
})()

And a silly example, demonstrating the power of the library. You can find the code here

showcase

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].