eliza icon indicating copy to clipboard operation
eliza copied to clipboard

fix: Slack client Media type implementation missing required properties in message attachments

Open SumeetChougule opened this issue 1 year ago • 1 comments

Describe the Bug

TypeScript type error in Slack client when handling message attachments. The error occurs because the attachments property in the Content interface expects an array of Media type objects, but the code was only providing a subset of the required properties.

Error message:

Type '{ text: string; }[]' is not assignable to type 'Media[]'.
Type '{ text: string; }' is missing the following properties from type 'Media': id, url, title, source, description

To Reproduce

  1. Use the Slack client implementation.
  2. Try to create a message content with attachments.
  3. The code attempts to create an attachment with only the text property:
attachments: attachmentContent ? [{ text: attachmentContent }] : undefined

Expected Behavior

The code should properly implement the Media type interface by providing all required properties:

  • id (string)
  • url (string)
  • title (string)
  • source (string)
  • description (string)
  • text (string)

Solution

Update the attachment creation to include all required Media type properties:

attachments: attachmentContent
    ? [{
        id: stringToUuid(`${event.ts}-attachment`),
        url: '',  // Since this is text content, no URL is needed
        title: 'Text Attachment',
        source: 'slack',
        description: 'Text content from Slack message',
        text: attachmentContent
    }]
    : undefined,

Additional Context

This issue affects the Slack client's message handling functionality in the packages/client-slack/src/messages.ts file. The fix ensures type safety while maintaining the intended functionality of handling text attachments from Slack messages.

SumeetChougule avatar Dec 23 '24 00:12 SumeetChougule

Hello here. Yopu are right i should have added all the media types. I wil try look into it asap.

AIFlowML avatar Jan 03 '25 05:01 AIFlowML

Just pushed https://github.com/elizaOS/eliza/pull/1741 Tnks @SumeetChougule

AIFlowML avatar Jan 03 '25 07:01 AIFlowML