fix: solve linter error
Node.js CI / CI (pull_request) Failing after 24s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 53s

This commit is contained in:
2026-02-21 23:36:20 +09:00
parent 0a3c000add
commit 60fec0f2d8
3 changed files with 78 additions and 68 deletions
+73 -66
View File
@@ -13,78 +13,85 @@ import {
EmbedBuilder, EmbedBuilder,
ActionRowBuilder, ActionRowBuilder,
ButtonStyle, ButtonStyle,
type Message,
} from "discord.js"; } from "discord.js";
import { ids } from "../config/ids.js"; import { ids } from "../config/ids.js";
import { logger } from "../utils/logger.js"; import { logger } from "../utils/logger.js";
export const forwardOwnerDM = { const buildForwardedEmbed = (message: Message): EmbedBuilder => {
data: new ContextMenuCommandBuilder().setName("Forward to Naomi"). const forwardedEmbed = new EmbedBuilder().
setType(ApplicationCommandType.Message), setColor(0x58_65_F2).
setTitle(`Message from ${String(message.author.tag)}!`).
async execute(interaction: MessageContextMenuCommandInteraction): setDescription(
Promise<void> { `${(message.attachments.size > 0
await interaction.deferReply({ ephemeral: true }); ? `**Attachments:** ${String(message.attachments.size)}
if (interaction.user.id !== ids.users.naomi) {
await interaction.editReply("❌ Only Naomi can use this command.");
return;
}
const message = interaction.targetMessage;
if (message.author.id === ids.users.naomi) {
await interaction.editReply(
"No need to forward your own message to yourself 😄",
);
return;
}
try {
const naomi = await interaction.client.users.fetch(ids.users.naomi);
const forwardedEmbed = new EmbedBuilder().
setColor(0x58_65_F2).
setTitle(`Message from ${String(message.author.tag)}!`).
setDescription(
`${(message.attachments.size > 0
? `**Attachments:** ${String(message.attachments.size)}
file(s)\n\n` file(s)\n\n`
: "\n") : "\n")
+ (message.embeds.length > 0 + (message.embeds.length > 0
? `**Embeds:** ${String(message.embeds.length)}\n\n` ? `**Embeds:** ${String(message.embeds.length)}\n\n`
: "")} : "")}
\n${message.content !== "" || message.content !== null \n${message.content}\n\n`,
? message.content );
: "*[No text content]*"}\n\n`, return forwardedEmbed;
); };
const buildViewButtonFunction = (message: Message): ButtonBuilder => {
const viewButton = new ButtonBuilder(). const viewButton = new ButtonBuilder().
setLabel("View Message"). setLabel("View Message").
setURL(message.url). setURL(message.url).
setStyle(ButtonStyle.Link); setStyle(ButtonStyle.Link);
return viewButton;
const row = new ActionRowBuilder<ButtonBuilder>().addComponents( };
viewButton,
); const data = new ContextMenuCommandBuilder().setName("Forward to Naomi").
await naomi.send({ setType(ApplicationCommandType.Message);
components: [ row ],
embeds: [ forwardedEmbed ], const execute = async(interaction: MessageContextMenuCommandInteraction):
files: message.attachments.map((att) => { Promise<void> => {
return att.url; await interaction.deferReply({ ephemeral: true });
}),
}); if (interaction.user.id !== ids.users.naomi) {
await interaction.editReply("❌ Only Naomi can use this command.");
await interaction.editReply({ return;
content: "✅ Forwarded to your DMs!", }
});
} catch (error) { const message = interaction.targetMessage;
let replyText = "❌ Failed to forward message."; if (message.author.id === ids.users.naomi) {
if (error instanceof DiscordAPIError && error.code === 50_007) { await interaction.editReply(
replyText = `${replyText} (Naomi's DMs might be closed)`; "No need to forward your own message to yourself 😄",
} );
await interaction.editReply(replyText); return;
if (error instanceof Error) { }
await logger.error("operation", error);
} try {
} const naomi = await interaction.client.users.fetch(ids.users.naomi);
}, const forwardedEmbed = buildForwardedEmbed(message);
const viewButton = buildViewButtonFunction(message);
const row = new ActionRowBuilder<ButtonBuilder>().addComponents(
viewButton,
);
await naomi.send({
components: [ row ],
embeds: [ forwardedEmbed ],
files: message.attachments.map((att) => {
return att.url;
}),
});
await interaction.editReply({
content: "✅ Forwarded to your DMs!",
});
} catch (error) {
let replyText = "❌ Failed to forward message.";
if (error instanceof DiscordAPIError && error.code === 50_007) {
replyText = `${replyText} (Naomi's DMs might be closed)`;
}
await interaction.editReply(replyText);
await logger.error("operation", error);
}
};
export const forwardOwnerDM = {
data,
execute,
}; };
+4 -1
View File
@@ -148,7 +148,10 @@ amari.discord.on(Events.ThreadCreate, (thread) => {
const { bugReports, communityFeedback, featureRequests, policyIdeation } const { bugReports, communityFeedback, featureRequests, policyIdeation }
= ids.channels; = ids.channels;
if ( if (
![ bugReports, communityFeedback, featureRequests, policyIdeation ].includes( ![ bugReports,
communityFeedback,
featureRequests,
policyIdeation ].includes(
thread.parent.id, thread.parent.id,
) )
) { ) {
+1 -1
View File
@@ -29,4 +29,4 @@ const requestCommand = async(): Promise<void> => {
} }
} }
}; };
requestCommand(); void requestCommand();