0.0.3 • Published 1 year ago

eris-builders v0.0.3

Weekly downloads
-
License
-
Repository
github
Last release
1 year ago

Eris builders.

I created this repository to make discord.js-like builders to use with Eris. It isn't exactly like discord.js though (or won't be).

Current classes:

ActionRowBuilder
ButtonBuilder
EmbedBuilder
ModalBuilder
SelectMenuBuilder

Eris examples.

Import.

import {
    ActionRowBuilder,

    ButtonStyle,
    ButtonBuilder,

    EmbedBuilder,

    TextInputStyle,
    ModalBuilder,
    TextInputBuilder,

    SelectMenuTypes,
    SelectMenuBuilder
} from 'eris-builders';

Embed.

const embed = new EmbedBuilder()
    .setColor('#FFFFFF')
    .setDescription(`🎲 You rolled a **${Math.ceil(Math.random() * 6)}**.`);
interaction.createMessage({ embeds: [ embed ] });

Buttons.

const row = new ActionRowBuilder()
    .addComponents(
        new ButtonBuilder()
            .setCustomId('custom_id')
            .setLabel('Label.')
    );
interaction.createMessage({ content: 'Click the button:', components: [ row ] });

Select menu.

const row = new ActionRowBuilder()
    .addComponents(
        new SelectMenuBuilder()
            .setType(SelectMenuTypes.User)
            .setCustomId('hello_user')
            .setPlaceholder('Say hello to...')
    );
interaction.createMessage({ content: `👋 Hello <@!${interaction.member.id}>.`, components: [ row ] });

Modals.

const modal = new ModalBuilder()
    .setCustomId('modal_response')
    .setTitle('Modal');
        
const favoriteShapeInput = new TextInputBuilder()
    .setCustomId('favorite_shape')
    .setStyle(TextInputStyle.Short)
    .setLabel("What's your favorite shape?")
    .setPlaceholder('(eg. square, rectangle, circle)')
    .setMaxLength(50);
        
const firstActionRow = new ActionRowBuilder().addComponents(favoriteShapeInput);
modal.addComponents(firstActionRow);

await this.client.createInteractionResponse(interaction.id, interaction.token, {
    type: 9,
    data: modal
});