satanic-security/interactions/commands/lookup.js

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 };