From 93b021c0107a27576ddca2b3d8ae2886b364e2cd Mon Sep 17 00:00:00 2001 From: GramingFoxTeam Date: Sat, 19 Aug 2023 19:14:17 +0300 Subject: [PATCH] feat(bot-discord): report to logs for other cmds --- apps/bot-discord/src/commands/exileMemberCtx.js | 9 +++++++++ apps/bot-discord/src/msgCommands/exile.js | 11 ++++++++++- apps/bot-discord/src/utils/reportToLogs.js | 5 ++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/apps/bot-discord/src/commands/exileMemberCtx.js b/apps/bot-discord/src/commands/exileMemberCtx.js index f729d54..c58c546 100644 --- a/apps/bot-discord/src/commands/exileMemberCtx.js +++ b/apps/bot-discord/src/commands/exileMemberCtx.js @@ -2,6 +2,7 @@ import { ContextMenuCommandBuilder, ApplicationCommandType } from 'discord.js'; import { checkForPerms } from '../utils/checkSupporterPerms.js' import muteMember from '../utils/muteMember.js'; import exileMemberToChannel from '../utils/exileMemberToChannel.js'; +import reportToLogs from '../utils/reportToLogs.js'; export default { data: new ContextMenuCommandBuilder() @@ -28,6 +29,14 @@ export default { exileMemberToChannel(targetMsg.author, interaction.channel, targetMsg.content, null, config); + reportToLogs(config, interaction.client, 'exiled', null, { + reason, + actionTo: targetMsg.author, + actionBy: interaction.member, + channel: interaction.channel, + expire: parsedDuration + }, interaction); + await targetMsg.delete(); } }; diff --git a/apps/bot-discord/src/msgCommands/exile.js b/apps/bot-discord/src/msgCommands/exile.js index d3b78c7..866f373 100644 --- a/apps/bot-discord/src/msgCommands/exile.js +++ b/apps/bot-discord/src/msgCommands/exile.js @@ -1,6 +1,7 @@ import exileMemberToChannel from '../utils/exileMemberToChannel.js'; import { checkForPerms } from '../utils/checkSupporterPerms.js' import muteMember from '../utils/muteMember.js'; +import reportToLogs from '../utils/reportToLogs.js'; export default { name: 'exile', @@ -19,13 +20,21 @@ export default { message = msgsByAuthor.slice(Number(`-${args[0]}`)); } - await muteMember(config, referencedMsg.member, { + const parsedDuration = await muteMember(config, referencedMsg.member, { supportMute: true, guild: msg.guild }); exileMemberToChannel(referencedMsg.author, msg.channel, message, null, config, false); + reportToLogs(config, interaction.client, 'exiled', null, { + reason, + actionTo: referencedMsg.author, + actionBy: msg.member, + channel: msg.channel, + expire: parsedDuration + }, null, msg); + await referencedMsg.delete(); } } \ No newline at end of file diff --git a/apps/bot-discord/src/utils/reportToLogs.js b/apps/bot-discord/src/utils/reportToLogs.js index 91c5f9c..6e7db8b 100644 --- a/apps/bot-discord/src/utils/reportToLogs.js +++ b/apps/bot-discord/src/utils/reportToLogs.js @@ -1,6 +1,6 @@ import { EmbedBuilder, messageLink } from 'discord.js'; -export default async function reportToLogs(config, client, action, message, { reason, expire, actionTo, actionBy }, interaction) { +export default async function reportToLogs(config, client, action, message, { reason, expire, actionTo, actionBy }, interaction, commandMsg) { const actionUpper = action.charAt(0).toUpperCase() + action.slice(1); const actionTitle = `${actionUpper} ${actionTo.tag}`; const actionEmbed = new EmbedBuilder() @@ -34,6 +34,9 @@ export default async function reportToLogs(config, client, action, message, { re await interaction.editReply({ embeds: [actionEmbed] }); const msg = await interaction.fetchReply(); reportToLogs(config, client, action, msg, { reason, expire, actionTo, actionBy }); + } else if (commandMsg) { + const msg = await commandMsg.reply({ embeds: [actionEmbed] }); + reportToLogs(config, client, action, msg, { reason, expire, actionTo, actionBy }); } else { const channel = await client.channels.fetch(config.logs.channelId); const thread = await channel.threads.fetch(config.logs.threadId);