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

Function processNewMessage

packages/integration-discord/src/outbound.ts:180–219  ·  view source on GitHub ↗
({
  token,
  externalThreadId,
  externalChannelId,
  body,
  author,
  title,
  setThreadExternalId,
  setMessageExternalId,
}: {
  setThreadExternalId: (externalId: string) => Promise<void>;
  setMessageExternalId: (externalId: string) => Promise<void>;
  token: string;
  externalThreadId: string;
  externalChannelId: string;
  body: string;
  author?: string;
  title: string;
})

Source from the content-addressed store, hash-verified

178}
179
180async function processNewMessage({
181 token,
182 externalThreadId,
183 externalChannelId,
184 body,
185 author,
186 title,
187 setThreadExternalId,
188 setMessageExternalId,
189}: {
190 setThreadExternalId: (externalId: string) => Promise<void>;
191 setMessageExternalId: (externalId: string) => Promise<void>;
192 token: string;
193 externalThreadId: string;
194 externalChannelId: string;
195 body: string;
196 author?: string;
197 title: string;
198}) {
199 const client = await getClient(token);
200
201 const thread: any = await client
202 .post(Routes.threads(externalChannelId, externalThreadId), {
203 body: { name: title, nonce },
204 })
205 .catch(() => null);
206
207 if (thread) {
208 await setThreadExternalId(thread.id);
209 }
210
211 const message: any = await client.post(
212 Routes.channelMessages(thread ? thread.id : externalThreadId),
213 {
214 body: { content: `${author}: ${body}`, nonce },
215 }
216 );
217 await setMessageExternalId(message.id);
218 return;
219}

Callers 1

Calls 4

getClientFunction · 0.90
setThreadExternalIdFunction · 0.90
setMessageExternalIdFunction · 0.90
postMethod · 0.45

Tested by

no test coverage detected