fix(bots/discord): pass non-empty out of scope label to discord

This commit is contained in:
PalmDevs
2025-07-12 01:15:14 +07:00
parent cc02c0a775
commit fbd9480036
2 changed files with 9 additions and 4 deletions

View File

@@ -39,7 +39,7 @@ export default new Command({
custom_id: `tr_${trigger.targetMessage.channelId}_${trigger.targetId}`, custom_id: `tr_${trigger.targetMessage.channelId}_${trigger.targetId}`,
options: [ options: [
...labels.map(label => ({ label, value: label })), ...labels.map(label => ({ label, value: label })),
{ label: 'Out of scope', value: '', emoji: { name: '❌' } }, { label: 'Out of scope', value: OutOfScopeLabel, emoji: { name: '❌' } },
], ],
type: ComponentType.StringSelect, type: ComponentType.StringSelect,
} satisfies APIStringSelectComponent, } satisfies APIStringSelectComponent,
@@ -51,3 +51,5 @@ export default new Command({
}) })
}, },
}) })
export const OutOfScopeLabel = '<out of scope>'

View File

@@ -1,4 +1,5 @@
import { MessageFlags, type TextBasedChannel } from 'discord.js' import { MessageFlags, type TextBasedChannel } from 'discord.js'
import { OutOfScopeLabel } from '$/commands/support/train/context-menu'
import { createErrorEmbed, createStackTraceEmbed, createSuccessEmbed } from '$utils/discord/embeds' import { createErrorEmbed, createStackTraceEmbed, createSuccessEmbed } from '$utils/discord/embeds'
import { on, withContext } from '$utils/discord/events' import { on, withContext } from '$utils/discord/events'
@@ -30,9 +31,11 @@ withContext(on, 'interactionCreate', async (context, interaction) => {
flags: MessageFlags.Ephemeral, flags: MessageFlags.Ephemeral,
})) }))
// If selectedLabel is empty, it means "out of scope", so we pass undefined const selectedLabel = interaction.values[0]
const selectedLabel = interaction.values[0] || undefined await context.api.client.trainMessage(
await context.api.client.trainMessage(msg.content, selectedLabel) msg.content,
selectedLabel === OutOfScopeLabel ? undefined : selectedLabel,
)
await interaction.reply({ await interaction.reply({
embeds: [ embeds: [
createSuccessEmbed( createSuccessEmbed(