MCPcopy Index your code
hub / github.com/Linen-dev/linen.dev / createMessage

Function createMessage

packages/integration-matrix/src/createMessage.ts:4–47  ·  view source on GitHub ↗
({
  accountId,
  channelName,
  externalChannelId,
  userDisplayName,
  externalUserId,
  externalMessageId,
  body,
  externalThreadId,
  linenSdk,
}: {
  accountId: string;
  channelName: string;
  externalChannelId: string;
  userDisplayName: string;
  externalUserId: string;
  body: string;
  externalMessageId: string;
  externalThreadId: string;
  linenSdk: LinenSdk;
})

Source from the content-addressed store, hash-verified

2import { MessageFormat } from '@linen/types';
3
4export async function createMessage({
5 accountId,
6 channelName,
7 externalChannelId,
8 userDisplayName,
9 externalUserId,
10 externalMessageId,
11 body,
12 externalThreadId,
13 linenSdk,
14}: {
15 accountId: string;
16 channelName: string;
17 externalChannelId: string;
18 userDisplayName: string;
19 externalUserId: string;
20 body: string;
21 externalMessageId: string;
22 externalThreadId: string;
23 linenSdk: LinenSdk;
24}) {
25 const channel = await linenSdk.findOrCreateChannel({
26 accountId,
27 channelName,
28 externalChannelId,
29 });
30 const user = await linenSdk.findOrCreateUser({
31 accountsId: accountId,
32 displayName: userDisplayName,
33 externalUserId,
34 });
35 const thread = await linenSdk.getThread({ externalThreadId });
36 if (thread?.id) {
37 await linenSdk.createNewMessage({
38 accountId,
39 authorId: user.id,
40 body,
41 channelId: channel.id,
42 externalMessageId,
43 threadId: thread.id,
44 messageFormat: MessageFormat.MATRIX,
45 });
46 }
47}

Callers 1

handleMatrixEventFunction · 0.90

Calls 4

findOrCreateUserMethod · 0.80
getThreadMethod · 0.80
createNewMessageMethod · 0.80
findOrCreateChannelMethod · 0.45

Tested by

no test coverage detected