const { MessageEmbed, Guild } = require('discord.js'); module.exports = { name: "set-income", description: "set a role to recieve income when working", usage: "[role] [amount daily]", permissions: { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: ["MANAGE_GUILD"], }, SlashCommand: { options: [ { name: "role", description: "role for this income", value: "role", type: 8, required: true, }, { name: "amount", description: "the amount to earn in 1 day of work", value: 120.00, type: 10, required: true, } ], /** * * @param {require("../structures/QuarksBot")} client * @param {import("discord.js").MessageCreate} message * @param {string[]} args * @param {*} param3 */ run: async (client, interaction, args, { GuildDB }) => { if (GuildDB.customChannelStatus==true&&!GuildDB.allowedChannels.includes(interaction.channel_id)) { return interaction.send(`You are not allowed to use the bot in this channel.`); } if (args[1].value <= 0) { let embed = new MessageEmbed() .setTitle('Amount cannot be $0 or less than $0') .setColor("RED"); return interaction.send({ embeds: [embed] }); } const searchIndex = roles.findIndex((role) => role.role==args[0].value); if (searchIndex == -1) { let newIncome = { role: args[0].value, income: args[1].value, } client.dbo.collection("guilds").updateOne({"server.serverID":GuildDB.serverID}, {$push: {"server.incomeRoles":newIncome}}, function(err, res) { if (err) { client.log(err); let embed = new MessageEmbed() .setTitle(err) .setColor("RED"); return interaction.send({ embeds: [embed] }); } }); } else { client.dbo.collection("guilds").updateOne({"server.serverID":Guild.serverID, "server.incomeRoles.role": args[0].value}, {$set: {"server.incomeRoles.$.income": args[1].value}}, function(err, res) { if (err) { client.log(err); let embed = new MessageEmbed() .setTitle(err) .setColor("RED"); return interaction.send({ embeds: [embed] }); } }); } let successEmbed = new MessageEmbed() .setTitle('Success') .setDescription(`Set <@&${args[0].value}>'s income to $${args[1].value}`) .setColor('GREEN'); return interaction.send({ embeds: [successEmbed] }); }, }, }