Discord: add forum parent context
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import { ChannelType } from "@buape/carbon";
|
||||||
import { resolveAckReaction, resolveHumanDelayConfig } from "../../agents/identity.js";
|
import { resolveAckReaction, resolveHumanDelayConfig } from "../../agents/identity.js";
|
||||||
import {
|
import {
|
||||||
removeAckReactionAfterReply,
|
removeAckReactionAfterReply,
|
||||||
@@ -129,6 +130,13 @@ export async function processDiscordMessage(ctx: DiscordMessagePreflightContext)
|
|||||||
senderDisplay && senderTag && senderDisplay !== senderTag
|
senderDisplay && senderTag && senderDisplay !== senderTag
|
||||||
? `${senderDisplay} (${senderTag})`
|
? `${senderDisplay} (${senderTag})`
|
||||||
: (senderDisplay ?? senderTag ?? author.id);
|
: (senderDisplay ?? senderTag ?? author.id);
|
||||||
|
const isForumParent =
|
||||||
|
threadParentType === ChannelType.GuildForum || threadParentType === ChannelType.GuildMedia;
|
||||||
|
const forumParentSlug =
|
||||||
|
isForumParent && threadParentName ? normalizeDiscordSlug(threadParentName) : "";
|
||||||
|
const isForumStarter =
|
||||||
|
Boolean(threadChannel && isForumParent && forumParentSlug) && message.id === threadChannel.id;
|
||||||
|
const forumContextLine = isForumStarter ? `[Forum parent: #${forumParentSlug}]` : null;
|
||||||
const groupChannel = isGuildMessage && displayChannelSlug ? `#${displayChannelSlug}` : undefined;
|
const groupChannel = isGuildMessage && displayChannelSlug ? `#${displayChannelSlug}` : undefined;
|
||||||
const groupSubject = isDirectMessage ? undefined : groupChannel;
|
const groupSubject = isDirectMessage ? undefined : groupChannel;
|
||||||
const channelDescription = channelInfo?.topic?.trim();
|
const channelDescription = channelInfo?.topic?.trim();
|
||||||
@@ -182,6 +190,9 @@ export async function processDiscordMessage(ctx: DiscordMessagePreflightContext)
|
|||||||
if (replyContext) {
|
if (replyContext) {
|
||||||
combinedBody = `[Replied message - for context]\n${replyContext}\n\n${combinedBody}`;
|
combinedBody = `[Replied message - for context]\n${replyContext}\n\n${combinedBody}`;
|
||||||
}
|
}
|
||||||
|
if (forumContextLine) {
|
||||||
|
combinedBody = `${combinedBody}\n${forumContextLine}`;
|
||||||
|
}
|
||||||
|
|
||||||
let threadStarterBody: string | undefined;
|
let threadStarterBody: string | undefined;
|
||||||
let threadLabel: string | undefined;
|
let threadLabel: string | undefined;
|
||||||
|
|||||||
Reference in New Issue
Block a user