158 lines
3.1 KiB
JavaScript
158 lines
3.1 KiB
JavaScript
const {
|
|
EmbedBuilder
|
|
} = require("discord.js");
|
|
|
|
const {
|
|
getNutBalance
|
|
} = require(
|
|
"../../../utils/nutEconomy"
|
|
);
|
|
|
|
|
|
function delay(ms) {
|
|
return new Promise(
|
|
resolve =>
|
|
setTimeout(
|
|
resolve,
|
|
ms
|
|
)
|
|
);
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
name:
|
|
"checknuts",
|
|
|
|
description:
|
|
"get nuts",
|
|
|
|
aliases: [
|
|
"chn"
|
|
],
|
|
|
|
|
|
async execute(
|
|
message,
|
|
args
|
|
) {
|
|
let target =
|
|
message.author;
|
|
|
|
|
|
let addressing =
|
|
"Du hast";
|
|
|
|
|
|
if (
|
|
args[0]
|
|
) {
|
|
if (
|
|
!args[0].startsWith("<@")
|
|
||
|
|
!args[0].endsWith(">")
|
|
) {
|
|
return message.reply(
|
|
"Invalid User Specification"
|
|
);
|
|
}
|
|
|
|
|
|
try {
|
|
target =
|
|
await message.guild.members.fetch(
|
|
args[0].slice(
|
|
2,
|
|
-1
|
|
)
|
|
);
|
|
|
|
} catch (error) {
|
|
return message.reply({
|
|
content:
|
|
`User: ${args[0]} nicht gefunden!`
|
|
})
|
|
.then(
|
|
async msg => {
|
|
await delay(
|
|
4000
|
|
);
|
|
|
|
|
|
message.delete();
|
|
msg.delete();
|
|
}
|
|
);
|
|
}
|
|
|
|
|
|
if (
|
|
target.user.id !==
|
|
message.author.id
|
|
) {
|
|
if (
|
|
!target.user.globalName
|
|
) {
|
|
addressing =
|
|
`${target.user.username} hat`;
|
|
}
|
|
|
|
|
|
else {
|
|
addressing =
|
|
`${target.user.globalName} hat`;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
const targetId =
|
|
target.id
|
|
??
|
|
target.user?.id;
|
|
|
|
|
|
const balance =
|
|
await getNutBalance(
|
|
targetId
|
|
);
|
|
|
|
|
|
let content;
|
|
|
|
|
|
if (
|
|
balance <=
|
|
0
|
|
) {
|
|
content =
|
|
`${addressing} noch keine Nüsse gesammelt :(`;
|
|
}
|
|
|
|
|
|
else {
|
|
content =
|
|
`${addressing} bereits **${balance}** Nüsse gesammelt!`;
|
|
}
|
|
|
|
|
|
const embed =
|
|
new EmbedBuilder()
|
|
.setTitle(
|
|
"Checknuts!"
|
|
)
|
|
.setThumbnail(
|
|
target.displayAvatarURL()
|
|
)
|
|
.setDescription(
|
|
content
|
|
);
|
|
|
|
|
|
return message.reply({
|
|
embeds: [
|
|
embed
|
|
]
|
|
});
|
|
}
|
|
}; |