1.2.0 • Published 2 years ago

autocode-discord-interaction v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Autocode Discord Interaction

This npm makes it easy to use discord interactions inside autocode.

Change log

v-1.2.0

  1. Improved file uploading.
  2. Overall code revamped.

v-1.1.0

Improved returned response schemes.

v-1.0.0

Added support for modal interaction. example

v-0.0.6

A small bug fixed.

v-0.0.5

Forgot to add form-data package inside the npm so error go brrrr.... 🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️🤦‍♂️

v-0.0.4

Fixed a small bug where it will give error when attachments params is not provided. 😅🤦‍♂️

v-0.0.3

  1. Added support for uploading files.
  2. Improved readme :)

Available APIs

  1. Callback
API typesDescription
command_replyReply to any application command. Eg: slash command
command_deferReply with a thinking message to any application command that can be edited later.
component_deferAcknowledge a message component that can be edited later. Eg: buttons
component_updateUpdate the message where the component was present.
autocompleteReturn some choices to the user.
form_modalReply with a popup form.
  1. Followup
API typesDescription
edit_originalEdit the original message created for the interaction.
get_originalGet info about the original message created for the interaction.
delete_originalDelete the original message created for the interaction.
createCreate a new followup message for an interaction. (can only be used if the interaction was already replied by any of the callback apis)
getGet info about any newly created followup message.
editEdit any followup message
deleteDelete any followup message

Note: Some of the apis for followup are not fully tested, so if you find any bugs please report it.

Example uses

Modal interaction

await interaction.callback.form_modal(event, {
    custom_id: `form_1`,
    title: 'This is an example form',
    text_inputs: [
      {
        style: 'short',
        custom_id: 'name',
        label: `What's your name?`,
        placeholder: `write your name here`, // optional
        required: true, // optional
        //value: 'some default value',
        //max_length: 100,
        min_length: 1, // optional
      },
      {
        style: 'long', 
        custom_id: 'description',
        label: `Describe yourself.`,
        placeholder: `Some text here`, // optional
        required: true, // optional
        //value: 'some default value',
        //max_length: 100,
        min_length: 1, // optional
      },
    ]
  })

modal interaction

You can upto 5 text inputs

Uploading files/attachments

const interaction = require('autocode-discord-interaction')

await interaction.callback.command_reply(context.params.event,{
    content: 'file',
    attachments: [
      {
        name: 'file.txt', //any file name with extension
        buffer: Buffer.from('hello'), //any buffer under 8 mb, could be more if the server is boosted
        description: 'some text' //any string, this params is optional
      }
    ]
})

You can upload upto 10 file in one message.

Reply any application command with a normal message

const interaction = require('autocode-discord-interaction')

await interaction.callback.command_reply(context.params.event,{
    content: 'hello!'
})

normal reply

Reply any application command with an ephemeral message

const interaction = require('autocode-discord-interaction')

await interaction.callback.command_reply(context.params.event,{
    content: 'hello!'
},{ephemeral: true})

ephemeral reply

Reply any application command with a thinking message/defer message

const interaction = require('autocode-discord-interaction')

await interaction.callback.command_defer(context.params.event)

defer message

Ephemeral thinking message also works.

ephemeral defer message

For more details check out my app in autocode.

1.2.0

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago