#Unable to add attachments in InteractionType.APPLICATION_COMMAND

1 messages · Page 1 of 1 (latest)

coral cypress

Hi there! I am new to creating Discord bots and recently followed the https://discord.com/developers/docs/getting-started tutorial, which uses discordJS with an interactions endpoint URL where Discord will send HTTP Requests and you return something of the form res.send(...). I am trying to do the following: respond with a local video file attached when a user does the /get-video command.
I've looked through all of the attachments documentation but have not been able to find an answer. I do NOT want this in an embed, just want it to be a good old attachment
Some more details

  • The video file is saved in the same place as my app.js where the code below lives, so the file path is "video.mp4"
  • My JS type is module, since I adapted it from the getting started tutorial, but I'm open to suggestions on refactoring my code to make it easier
  • Right now, the bot will respond to my "/get-video" command, but it doesn't include the embed

Here is my code so far which does respond but fails to add an attachment
`if (type === InteractionType.APPLICATION_COMMAND) {
const { name } = data;

// The command I'm working on
if (name === 'get-video') {
  const userId = req.body.member.user.id;
  const videoPath = "video.mp4";
  const file = new AttachmentBuilder(videoPath);
  return res.send({
    type: InteractionResponseType.CHANNEL_MESSAGE_WITH_SOURCE,
    data: {
      content: `video for <@${userId}> and ${file} and path ${videoPath}`,
      flags: InteractionResponseFlags.EPHEMERAL,
      components: [
        {
          type: MessageComponentTypes.ACTION_ROW,
          components: [
            {
              type: MessageComponentTypes.BUTTON,
              // Append the ID to use later on
              custom_id: `accept_button_${req.body.id}`,
              label: 'my button',
              style: ButtonStyleTypes.PRIMARY,
            },
          ],
        },
      ],
      files: [file]
    },
  });

`
As you can see, I have put the attachment under "files", but nothing shows up! Would sincerely appreciate any help :)