78 lines
2.9 KiB
JavaScript
78 lines
2.9 KiB
JavaScript
const { EmbedBuilder } = require('discord.js')
|
|
const { mClient } = require('../../../index')
|
|
function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
|
|
require('dotenv').config()
|
|
module.exports = {
|
|
name: 'givenuts',
|
|
description: 'give nuts',
|
|
aliases: ['gn'],
|
|
async execute(message, args) {
|
|
const from = message.author
|
|
if (args[0] == `<@${message.author.id}>` || !args[0]) {
|
|
return message.reply({
|
|
content: "Du musst einen anderen User erwähnen"
|
|
}).then(async (msg) => {
|
|
await delay(4000)
|
|
message.delete()
|
|
msg.delete()
|
|
})
|
|
}
|
|
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()
|
|
})
|
|
}
|
|
const to = target
|
|
|
|
try {
|
|
var amount = Number(args[1])
|
|
} catch (error) {
|
|
console.log(error)
|
|
return message.reply({
|
|
content: 'Du musst eine Menge angeben!'
|
|
}).then(async (msg) => {
|
|
await delay(4000)
|
|
message.delete()
|
|
msg.delete()
|
|
})
|
|
}
|
|
if (!amount) {
|
|
return message.reply({content : 'Danke für nichts, du Hu-'})
|
|
}
|
|
|
|
const db = mClient.db(process.env.M_DB)
|
|
const nutsColl = db.collection('items_nuts')
|
|
const yourBalance = await nutsColl.findOne({ userID: from.id })
|
|
if (amount <= 0) {
|
|
return await message.reply({
|
|
content: `Hier wird nicht geklaut >:(\r\nDas gibt **${yourBalance.nuts}** Abzug!`
|
|
})
|
|
}
|
|
if (yourBalance.nuts < amount) {
|
|
return await message.reply({
|
|
content: 'Du kannst nicht mehr geben als du hast!',
|
|
ephemeral: true
|
|
})
|
|
}
|
|
var content = `Du sendest **${amount}** Nüsse an <@${target.id}>`
|
|
|
|
if (amount == 1) {
|
|
content = `Du sendest **eine** Nuss an <@${target.id}>`
|
|
}
|
|
await nutsColl.findOneAndUpdate({ userID: from.id }, { $inc: { nuts: -amount } }, { upsert: true })
|
|
await nutsColl.findOneAndUpdate({ userID: to.id }, { $inc: { nuts: +amount } }, { upsert: true })
|
|
|
|
const embed = new EmbedBuilder()
|
|
.setTitle('Gib Nuss!')
|
|
.setDescription(content)
|
|
.setThumbnail(target.displayAvatarURL())
|
|
return message.reply({ embeds: [embed] })
|
|
}
|
|
} |