const { EmbedBuilder, PermissionsBitField, SlashCommandBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } = require("discord.js"); const { users, updateuser, coins, updateusernumber } = require('../../lib/database.js') const isNumber = x => typeof x === 'number' && !isNaN(x) const wait = require('node:timers/promises').setTimeout; module.exports = { data: new SlashCommandBuilder() .setName("work") .setDescription("Hadi biraz çalışalım.") .addStringOption(option => option .setName('iş') .setDescription('Hangi işi yapmak istiyorsanız onu yazınız.') .setRequired(true)) .addStringOption(option => option .setName('süre') .setDescription('Kaç saat çalışmak istiyorsunuz.') .setRequired(true)), run: async (client, interaction) => { await interaction.deferReply(); const iş = interaction.options.getString('iş').toLowerCase() const sürea = interaction.options.getString('süre') const numObj = new Number(sürea); const süre = numObj.valueOf(); const user = users(interaction.user.id) if (!isNumber(süre)) return interaction.editReply('Çalışmak istediğiniz süreyi sayı ile belirtiniz.') console.log('Is "süre" number? ' + isNumber(süre)) if (süre > 3) return interaction.editReply('En fazla 3 saat çalışabilirsiniz.') console.log('What is "süre"? ' + süre) console.log('What is "user.lastwsaat" ' + user.lastwsaat) if (user.lastwsaat > 0) return interaction.editReply('Zaten şuan çalışıyorsunuz.') let worktime if (süre === 1) { worktime = new Date * 1 } else if (süre === 2) { worktime = new Date * 1 } else if (süre === 3) { worktime = new Date * 1 } switch (iş) { case 'çöpçü': updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'çöpçü') updateuser(interaction.user.id, 'lastwsaat', süre) const embedçöp = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Çöpçü olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 25}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedçöp]}) break; case 'balıkçı': updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'balıkçı') updateuser(interaction.user.id, 'lastwsaat', süre) const embedbalık = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Balıkçı olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 25}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedbalık]}) break; case 'avcı': updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'avcı') updateuser(interaction.user.id, 'lastwsaat', süre) const embedavcı = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Avcı olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 25}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedavcı]}) break; case 'yayıncı': if(user.worktier >= 2) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'yayıncı') updateuser(interaction.user.id, 'lastwsaat', süre) const embedyayın = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Yayıncı olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 50}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedyayın]}) } else { interaction.editReply('Bu işi yapabilmek için işçilik seviyenizin 2 veya daha fazla olması gerekir.') } break; case 'barmen': if(user.worktier >= 2) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'barmen') updateuser(interaction.user.id, 'lastwsaat', süre) const embedbarmen = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Barmen olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 50}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedbarmen]}) } else { interaction.editReply('Bu işi yapabilmek için iş seviyenizin 2 veya daha fazla olması gerekir.') } break; case 'gamer': if(user.worktier >= 2) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'gamer') updateuser(interaction.user.id, 'lastwsaat', süre) const embedgamer = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Gamer olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 50}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedgamer]}) } else { interaction.editReply('Bu işi yapabilmek için iş seviyenizin 2 veya daha fazla olması gerekir.') } break; case 'müzisyen': if(user.worktier >= 2) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'müzisyen') updateuser(interaction.user.id, 'lastwsaat', süre) const embedmüz = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Müzisyen olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 50}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedmüz]}) } else { interaction.editReply('Bu işi yapabilmek için iş seviyenizin 2 veya daha fazla olması gerekir.') } break; case 'avukat': if(user.worktier >= 3) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'avukat') updateuser(interaction.user.id, 'lastwsaat', süre) const embedavukat = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Avukat olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 100}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedavukat]}) } else { interaction.editReply('Bu işi yapabilmek için iş seviyenizin 3 veya daha fazla olması gerekir.') } break; case 'yazılımcı': if(user.worktier >= 3) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'yazılımcı') updateuser(interaction.user.id, 'lastwsaat', süre) const embedyazılım = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Yazılımcı olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 100}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedyazılım]}) } else { interaction.editReply('Bu işi yapabilmek için iş seviyenizin 3 veya daha fazla olması gerekir.') } break; case 'astronot': if(user.worktier >= 3) { updateusernumber(interaction.user.id, 'wminigame', 0) updateusernumber(interaction.user.id, 'wtime', worktime) updateuser(interaction.user.id, 'lastwiş', 'astronot') updateuser(interaction.user.id, 'lastwsaat', süre) const embedastro = new EmbedBuilder() .setColor(0x00ff00) .setTitle('İŞ ZAMANI...') .setDescription(` Astronot olarak ${süre} saat işe başladınız. (Minimum kazanç ${süre * 100}) ${süre} saat sonra /workcheck yazarak ödemenizi alabilirsiniz. `); interaction.editReply({embeds: [embedastro]}) } else { interaction.editReply('Bu işi yapabilmek için iş seviyenizin 3 veya daha fazla olması gerekir.') } break; default: const embedhata = new EmbedBuilder() .setColor(0xff0000) .setTitle('!!HATA!!') .setDescription(` Yapmak istediğiniz işi bulamadık. Yapabileceğiniz işler; Çöpçü, Balıkçı, Avcı, Yayıncı, Barmen, Gamer, Müzisyen, Avukat, Astronot, Yazılımcı `); interaction.editReply({embeds: [embedhata]}) break; } } };