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

Function upsertThreadWithNewMessages

apps/web/services/discord/threads.ts:249–278  ·  view source on GitHub ↗
({
  channel,
  thread,
  messages,
  logger,
}: {
  channel: channels;
  thread: threads;
  messages: DiscordMessage[];
  logger: Logger;
})

Source from the content-addressed store, hash-verified

247}
248
249async function upsertThreadWithNewMessages({
250 channel,
251 thread,
252 messages,
253 logger,
254}: {
255 channel: channels;
256 thread: threads;
257 messages: DiscordMessage[];
258 logger: Logger;
259}) {
260 await createMessages({
261 channel,
262 thread,
263 messages,
264 logger,
265 });
266
267 try {
268 if (messages.length) {
269 const lastMessage = messages[messages.length - 1];
270 const lastReplyAt = parseDiscordSentAt(lastMessage.timestamp);
271 if (lastReplyAt && thread.id) {
272 await updateLastReplyAt({ lastReplyAt, threadId: thread.id });
273 }
274 }
275 } catch (error) {
276 logger.error({ error });
277 }
278}

Callers 1

processThreadFunction · 0.85

Calls 4

createMessagesFunction · 0.90
parseDiscordSentAtFunction · 0.90
updateLastReplyAtFunction · 0.90
errorMethod · 0.65

Tested by

no test coverage detected