Newborn Programming Monsters

    @dexare/slash-create
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.0 • Public • Published

    A Dexare module for managing slash commands with slash-create.

    npm install @dexare/slash-create
    const { DexareClient } = require('dexare');
    const SlashCreateModule = require('@dexare/slash-create');
    
    const config = {
      // All props in this config are optional EXCEPT applicationID, defaults are shown unless told otherwise
      slashCreate: {
        // This must be your bot application's ID
        applicationID: '1234567890',
    
        /**
         * Other options are mirrored from slash-create's creator options:
         *  https://slash-create.js.org/#/docs/main/latest/typedef/SlashCreatorOptions
         *
         * The following variables are not used since they are mirrored from Dexare:
         *  handleCommandsManually, allowedMentions, defaultImageFormat, defaultImageSize,
         *  ratelimiterOffset, latencyThreshold, requestTimeout, agent, token
         */
      }
    }
    
    const client = new DexareClient(config);
    client.loadModules(SlashCreateModule);
    
    // load commands here...
    // This must be done before syncing.
    
    const slashCreate = client.modules.get('slash-create');
    slashCreate.sync();

    Command Example

    Note: Throttling and permissions must be handled within slashRun().

    // ./src/commands/example.js
    const { DexareClient, CommandContext } = require('dexare');
    const { CommandContext: SlashCommandContext, CommandOptionType } = require('slash-create');
    const { SlashableDexareCommand } = require('@dexare/slash-create');
    
    export class ExampleCommand extends SlashableDexareCommand {
      constructor(client: DexareClient<any>) {
        super(
          client,
          { name: 'example' },
          {
            // The slash command name can differ from the base command
            name: 'dexare',
            description: 'Example description'
          }
        );
    
        this.filePath = __filename;
      }
    
      async run(ctx: CommandContext) {
        return 'This is from Dexare!';
      }
    
      async slashRun(ctx: SlashCommandContext) {
        return 'This is also from Dexare!';
      }
    }

    Install

    npm i @dexare/slash-create

    DownloadsWeekly Downloads

    2

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    30.2 kB

    Total Files

    15

    Last publish

    Collaborators

    • snazzah