Skip to content

✨ A framework to create discord bots with discord.js. Modular | Flexible | Powerful | Development | Interactions

License

Notifications You must be signed in to change notification settings

Sheweny/framework

Repository files navigation

Sheweny

sheweny

Maintenance made-with-Typescript GitHub license GitHub tag PRs Welcome

Compatible JS Compatible TS

About

Sheweny is a framework for creating Discord bots in TypeScript. This repository contains multiple packages with separate releases.

Packages

  • @sheweny/framework - The main package of the framework.
  • @sheweny/heweny - A package to create structures (commands, events, buttons etc.) with objects.
  • @sheweny/resolve - A package to parse strings and isolate structures from names, mentions, tags, parts etc. of users, guilds, channemls, roles etc.
  • @sheweny/markdown - A package to parse & create markdown strings with Discord markdown style.
  • @sheweny/mistial - A package to interact with databases (MongoDB, MySQL, PostgreSQL, SQLite...).
  • @sheweny/utils - A package with multiple utilities functions.

Examples

Simple client

import { ShewenyClient } from '@sheweny/framework';

const client = new ShewenyClient({
  intents: ['Guilds', 'GuildMembers', 'GuildMessages'],
  managers: {
    commands: {
      directory: './commands',
      applicationPermissions: true, // Enable slash-commands permissions
    },
    events: {
      directory: './events',
    },
    buttons: {
      directory: './buttons',
    },
  },
});

Simple command

const { Command } = require('sheweny');

class PingCommand extends Command {
  constructor(client) {
    super(client, {
      name: 'ping',
      description: 'Ping Pong',
      type: 'SLASH_COMMAND',
      cooldown: 5, // 5 seconds
    });
  }

  async execute(interaction) {
    interaction.reply({ content: 'Pong!' });
  }
}

module.exports = PingCommand;

This project has an MIT license. And you are welcome to contribute. For more details on contributions, please read the CONTRIBUTING.md file.

Help

If you need help with the framework or your bot you can open an issue for bugs report or join the discord server for questions.