discord_bot/commands/economy/Fish.js

77 lines
2.9 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const fishes = require('../../JSON/fishes.json');
let db = require('quick.db');
const ms = require("parse-ms");
const { randomRange } = require('../../functions');
const { MessageEmbed } = require('discord.js');
module.exports = {
name: 'fish',
aliases: ['catchfish'],
category: 'economy',
description: 'Fangen Sie einen Fisch aus einem riesigen Ozean',
usage: '[list | rewards] (optional)',
acessableby: 'everyone'
,
run: async (bot, message, args) => {
let user = message.author;
let bal = db.fetch(`money_${user.id}`)
let fish = await db.fetch(`fish_${user.id}`)
if (!args[0]) {
if (bal === null) bal = 0;
if (fish == null) fish = 0;
const fishID = Math.floor(Math.random() * 10) + 1;
let rarity;
if (fishID < 5) rarity = 'junk';
else if (fishID < 8) rarity = 'common';
else if (fishID < 9) rarity = 'uncommon';
else if (fishID < 10) rarity = 'rare';
else rarity = 'legendary';
const fishh = fishes[rarity];
const worth = randomRange(fishh.min, fishh.max);
let timeout = 1800000;
let fishtime = await db.fetch(`fishtime_${user.id}`);
if (fishtime !== null && timeout - (Date.now() - fishtime) > 0) {
let time = ms(timeout - (Date.now() - fishtime));
let timeEmbed = new MessageEmbed()
.setColor("GREEN")
.setDescription(`❌ Du hast kürzlich eine Schnur ausgeworfen\n\nIn ${time.minutes}m ${time.seconds}s erneut gefischt`);
return message.channel.send(timeEmbed)
}
let embed = new MessageEmbed()
.setColor('GREEN')
.setDescription(`**🎣 Du wirfst deine Angel aus und fängst ein ${fishh.symbol}, ich wette, es würde ungefähr ${worth}** kosten!`)
message.channel.send(embed);
db.add(`money_${user.id}`, worth);
db.add(`fish_${user.id}`, 1);
db.set(`fishtime_${user.id}`, Date.now())
}
if (args[0] === 'list' || args[0] === 'rewards') {
let lEmbed = new MessageEmbed()
.setColor('GREEN')
.setTitle(`Liste der Fischnamen und Belohnungen, die Sie erhalten können`)
.setDescription(`
\`\`\`🔧Junk :: Max. Belohnung: 5, Min. Belohnung: 1
🐟Common :: Max. Belohnung: 25, Min. Belohnung: 10
🐠Uncommon :: Max. Belohnung: 50, Min. Belohnung: 18
🦑Rare :: Max. Belohnung: 75, Min. Belohnung: 30
🐋Legendary :: Maximale Belohnung: 100, minimale Belohnung: 50\`\`\`
**Alle Belohnungen sind zufällig von max/min**
`)
.setFooter(message.guild.name, message.guild.iconURL())
return message.channel.send(lEmbed);
}
}
}