Closed
Description
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
- Use the Slack client implementation.
- Try to create a message content with attachments.
- 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.
Activity
AIFlowML commentedon Jan 3, 2025
Hello here.
Yopu are right i should have added all the media types.
I wil try look into it asap.
AIFlowML commentedon Jan 3, 2025
Just pushed #1741
Tnks @SumeetChougule
Merge pull request #1741 from AIFlowML/fix/slack-1384-media-type-atta…
fix(client-slack): implement Media type properties in message attachm…
Merge pull request elizaOS#1741 from AIFlowML/fix/slack-1384-media-ty…