54 lines
2.4 KiB
JavaScript
54 lines
2.4 KiB
JavaScript
// bot/commands/playerinfo.js
|
|
module.exports = {
|
|
data: new SlashCommandBuilder().setName("playerinfo").setDescription("Gives Info about a Player").addStringOption((option) => option.setName("user").setDescription("Username or ID").setRequired(true)),
|
|
async execute(interaction, exports2) {
|
|
const userOrId = interaction.options.getString("user");
|
|
const user = await findPlayerFromUserInput(userOrId);
|
|
if (!user) {
|
|
interaction.reply({ content: "Sorry, i couldn't find any user with the infos you provided, if they have recently left, try using their ID instead of username", ephemeral: true });
|
|
return;
|
|
}
|
|
var displayedIdentifiers = [];
|
|
for (let identifier of user.identifiers) {
|
|
if (isNaN(identifier.charAt(0)) && !(GetConvar("ea_IpPrivacy", "true") == "true" && identifier.search("ip:") != -1)) {
|
|
displayedIdentifiers.push(identifier);
|
|
}
|
|
}
|
|
var table = AsciiTable.factory({
|
|
heading: ["Identifiers"],
|
|
rows: displayedIdentifiers
|
|
});
|
|
var discordAccount = await getDiscordAccountFromPlayer(user);
|
|
var discordName = "N/A";
|
|
if (discordAccount) {
|
|
discordName = discordAccount.tag;
|
|
}
|
|
var embed = new EmbedBuilder().setColor(16777214).setTimestamp();
|
|
embed.addFields([
|
|
{ name: "Player Info", value: `Player infos for **${user.name}**` },
|
|
{ name: "Discord Account", value: `\`\`\`${discordName}\`\`\``, inline: true }
|
|
]);
|
|
if (discordAccount) {
|
|
embed.setThumbnail(discordAccount.avatarURL());
|
|
}
|
|
embed.addFields([
|
|
{ name: "Admin", value: `\`\`\`${exports2[EasyAdmin].IsPlayerAdmin(user.id)}\`\`\``, inline: true },
|
|
{ name: "Warnings", value: `\`\`\`${exports2[EasyAdmin].getPlayerWarnings(user.id)}\`\`\``, inline: true }
|
|
]);
|
|
if (!user.dropped) {
|
|
var playerPed = GetPlayerPed(user.id);
|
|
embed.addFields([
|
|
{ name: "Health", value: `\`\`\`${GetEntityHealth(playerPed)}\`\`\``, inline: true },
|
|
{ name: "Armour", value: `\`\`\`${GetPedArmour(playerPed)}\`\`\``, inline: true }
|
|
]);
|
|
if (GetPlayerInvincible(user.id)) {
|
|
embed.addFields([{ name: "Godmode", value: "```ON```", inline: true }]);
|
|
}
|
|
} else {
|
|
embed.addFields([{ name: "Status", value: "```Player Disconnected```" }]);
|
|
}
|
|
embed.addFields([{ name: "Identifiers", value: `\`\`\`${table}\`\`\`` }]);
|
|
await interaction.reply({ embeds: [embed] });
|
|
}
|
|
};
|