36 lines
1.5 KiB
JavaScript
36 lines
1.5 KiB
JavaScript
const path = require('path');
|
|
|
|
const execute = async (interaction, db, client) => {
|
|
if (!interaction.isCommand()) return;
|
|
await interaction.deferReply({ ephemeral: true }).catch(console.error);
|
|
interaction.options.getUser("user").id
|
|
db.get("SELECT * FROM badActors WHERE id = ?", [interaction.options.getUser("user").id], async (err, row) => {
|
|
if (row) {
|
|
const embed = {
|
|
title: "Bad Actor Found",
|
|
description: `User <@${row.id}> is in the bad actors list.`,
|
|
fields: [
|
|
{ name: "Reported By", value: `<@${row.reportedBy}>`, inline: true },
|
|
{ name: "Comment", value: row.comment || "No comment provided", inline: false },
|
|
{ name: "Timestamp", value: `<t:${Math.floor(new Date(row.timestamp)/1000)}>`, inline: true }
|
|
],
|
|
color: 0x00ff00
|
|
};
|
|
|
|
let files = [];
|
|
if (row.attachments) {
|
|
try {
|
|
const attachments = JSON.parse(row.attachments);
|
|
files = attachments.map(file => path.join(__dirname, '../../storage', file));
|
|
} catch (e) {
|
|
files = [];
|
|
}
|
|
}
|
|
|
|
interaction.editReply({ embeds: [embed], files });
|
|
} else {
|
|
interaction.editReply({ content: "That user is not listed as a bad actor.", ephemeral: true });
|
|
}
|
|
});
|
|
}
|
|
module.exports = { execute }; |