diff --git a/src/commands/whois.context-menu.ts b/src/commands/whois.context-menu.ts index 2d5a254..31ba047 100644 --- a/src/commands/whois.context-menu.ts +++ b/src/commands/whois.context-menu.ts @@ -1,5 +1,5 @@ -import { ApplicationIntegrationType, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, ContextMenuCommandBuilder, ApplicationCommandType, ContextMenuCommandInteraction, UserContextMenuCommandInteraction } from 'discord.js'; -import { handleWhoIsInteraction } from '../utils'; +import { ApplicationIntegrationType, Client, InteractionContextType, PermissionFlagsBits, ContextMenuCommandBuilder, ApplicationCommandType, UserContextMenuCommandInteraction, GuildBasedChannel } from 'discord.js'; +import { channelIsInStaffCategory, handleWhoIsInteraction } from '../utils'; export default { name: 'whois', @@ -12,6 +12,6 @@ export default { handler: async function (client: Client, interaction: UserContextMenuCommandInteraction) { const idToUse = interaction.targetUser.id; - handleWhoIsInteraction(interaction, idToUse, true); + handleWhoIsInteraction(interaction, idToUse, !(await channelIsInStaffCategory(interaction.channel as GuildBasedChannel))); } }; \ No newline at end of file diff --git a/src/commands/whois.ts b/src/commands/whois.ts index 8e7ffdd..fd50af4 100644 --- a/src/commands/whois.ts +++ b/src/commands/whois.ts @@ -1,5 +1,5 @@ -import { ApplicationIntegrationType, ChatInputCommandInteraction, Client, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; -import { handleWhoIsInteraction } from '../utils'; +import { ApplicationIntegrationType, BitFieldResolvable, ChatInputCommandInteraction, Client, GuildBasedChannel, InteractionContextType, MessageFlags, PermissionFlagsBits, SlashCommandBuilder } from 'discord.js'; +import { channelIsInStaffCategory, handleWhoIsInteraction } from '../utils'; export default { name: 'whois', @@ -31,6 +31,6 @@ export default { const idToUse = (user?.id ?? id) as string; - handleWhoIsInteraction(interaction, idToUse); + handleWhoIsInteraction(interaction, idToUse, !(await channelIsInStaffCategory(interaction.channel as GuildBasedChannel))); } }; \ No newline at end of file diff --git a/src/utils/whois.ts b/src/utils/whois.ts index 358e22c..0e26354 100644 --- a/src/utils/whois.ts +++ b/src/utils/whois.ts @@ -3,6 +3,9 @@ import { config } from '../config'; import { Database } from '../shared/Database'; export async function handleWhoIsInteraction(interaction: CommandInteraction, idToUse: string, ephemeral = false) { + if (ephemeral) await interaction.deferReply({ flags: [MessageFlags.Ephemeral] }); + else await interaction.deferReply(); + const results = await Database.getE621Ids(idToUse); if (results.length > 0) { @@ -25,10 +28,8 @@ export async function handleWhoIsInteraction(interaction: CommandInteraction, id content += `\n\nDiscord alts found:\n${mappedAlts}`; } - if (ephemeral) interaction.reply({ content, flags: [MessageFlags.Ephemeral] }); - else interaction.reply(content); + interaction.editReply(content); } else { - if (ephemeral) interaction.reply({ content: 'No e621 accounts found for this user', flags: [MessageFlags.Ephemeral] }); - else interaction.reply('No e621 accounts found for this user'); + interaction.editReply('No e621 accounts found for this user'); } } \ No newline at end of file