converted ShaiBot casino to Nut Economy

This commit is contained in:
2026-08-19 14:10:38 +02:00
parent a126de21d4
commit 1957991182
55 changed files with 8905 additions and 751 deletions
+146 -42
View File
@@ -1,54 +1,158 @@
const { EmbedBuilder } = require('discord.js')
const { mClient } = require('../../../index')
function delay(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
require('dotenv').config()
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) {
var target = message.author
var 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()
})
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"
);
}
if (target.user.id !== message.author.id) {
if (!target.user.globalName) {
addressing = `${target.user.username} hat`
} else {
addressing = `${target.user.globalName} hat`
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 db = mClient.db(process.env.M_DB)
const nutsColl = db.collection('items_nuts')
var nutsData = await nutsColl.findOne({ userID: target.id })
let content
if (!nutsData) {
content = `${addressing} noch keine Nüsse gesammelt :(`
} else {
content = `${addressing} bereits **${nutsData.nuts}** Nüsse gesammelt!`
const targetId =
target.id
??
target.user?.id;
const balance =
await getNutBalance(
targetId
);
let content;
if (
balance <=
0
) {
content =
`${addressing} noch keine Nüsse gesammelt :(`;
}
const embed = new EmbedBuilder()
.setTitle('Checknuts!')
.setThumbnail(target.displayAvatarURL())
.setDescription(content)
else {
content =
`${addressing} bereits **${balance}** Nüsse gesammelt!`;
}
const embed =
new EmbedBuilder()
.setTitle(
"Checknuts!"
)
.setThumbnail(
target.displayAvatarURL()
)
.setDescription(
content
);
return message.reply({
embeds: [embed]
})
embeds: [
embed
]
});
}
}
};