MCPcopy Create free account
hub / github.com/Linen-dev/linen.dev / parseMessage

Function parseMessage

apps/web/services/slack/sync/parseMessage.ts:7–30  ·  view source on GitHub ↗
(message: T)

Source from the content-addressed store, hash-verified

5} from '@linen/types';
6
7export function parseMessage<
8 T extends SlackMessageEvent | ConversationHistoryMessage
9>(message: T) {
10 // if text field has message, we don't need to parse
11 if (!!message.text) {
12 return message;
13 }
14 if (message.attachments) {
15 message.text = message.attachments.reduce((prev, curr) => {
16 const text = [curr.title, curr.pretext, curr.text, curr.footer]
17 .filter(Boolean)
18 .join('\n');
19 return [prev, !!text ? text : curr.fallback].filter(Boolean).join('\n');
20 }, '');
21 return message;
22 }
23 if (!message.text && message.files?.length) {
24 message.text = message.files
25 .map((f) => f.name)
26 .filter(Boolean)
27 .join();
28 }
29 return message;
30}
31
32export function filterMessages<
33 T extends SlackMessageEvent | ConversationHistoryMessage

Callers 2

processMessageEventFunction · 0.90
changeMessageFunction · 0.90

Calls 1

mapMethod · 0.80

Tested by

no test coverage detected