Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.js')
- const db = require('../util/db.js')
- const config = require('../botconfig.json')
- let cash = '<:cash:577826085157208064>';
- let denied = '<:denied:578904707691577345>';
- let payout = '<:payout:582424349433397249>';
- let cooldown = '<:cooldown:579496045059375104>';
- let xp = '<:eXP:579763563821006860>';
- let greenSq = '<:green_square:589504085804187653>'
- function hit() {
- for (let x = 0; x < 1; x++) {
- player.push(cards[0].disp) //pushes a card into the player deck
- playerValue += cards[0].value
- //dealer.push(dRandom.disp) //pushes a card into dealer deck
- //dealerValue += dRandom.value
- cards.shift()
- cards = cards.sort(() => Math.random() - 0.5);
- if (x == 1) break;
- }
- }
- //add const values to each card
- module.exports.run = async (bot, msg, args) => {
- if(msg.content.startsWith(config.prefix)){
- let sIcon = msg.guild.iconURL;
- let bet = args[0]
- db.blackjack(msg.author.id).then(bj => {
- db.MongoFind("users", { id: msg.author.id }).then(info => {
- db.MongoFind("botstats", { id: bot.user.id }).then(bstats => {
- var userEco = info[0].economy;
- var userMisc = info[0].misc;
- if (info[0].options.permLevel == 1) return;
- if (bj == false){
- let activeCD = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${cooldown} **${msg.author.username}**, wait **${2 - parseInt(bj)} minute(s)** before running this command again!`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(activeCD);
- } else if (bj == true) {
- if (!bet) {
- let noBet = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${denied} **${msg.author.username}**, provide a bet dude.`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(noBet);
- } else if (bet % 1 != 0) {
- let isDecimal = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${denied} **${msg.author.username}**, bet again but with whole dollars.`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(isDecimal);
- } else if (bet <= 0) {
- let isNull = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${denied} **${msg.author.username}**, you have to bet at least \`100\` ${cash}`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(isNull);
- } else if (bet < 100) {
- let minBet = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${denied} **${msg.author.username}**, you have to bet at least \`100\` ${cash}`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(minBet);
- } else if (userEco.balance < 100) {
- let insufficient = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${denied} **${msg.author.username}**, you do not have \`100\` ${cash} to bet!`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(insufficient);
- } else if (bet > userEco.balance) {
- let noFunds = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${denied} **${msg.author.username}**, you have \`${bet}\` ${cash} to bet!`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(noFunds);
- } else if (bet >= 100 && userEco.balance >= bet) {
- let card = [
- { card: 0, type: 1, value: 11, disp: "<:heart_ace:593054243842293761>" },
- { card: 1, type: 1, value: 10, disp: "<:heart_king:593054244245078016>" },
- { card: 2, type: 1, value: 10, disp: "<:heart_queen:593054244232495104>" },
- { card: 3, type: 1, value: 10, disp: "<:heart_jack:593054244056203324>" },
- { card: 4, type: 1, value: 10, disp: "<:heart_10:593054243682779168>" },
- { card: 5, type: 1, value: 9, disp: "<:heart_9:593054243997483008>" },
- { card: 6, type: 1, value: 8, disp: "<:heart_8:593054244022779904>" },
- { card: 7, type: 1, value: 7, disp: "<:heart_7:593054243951345668>" },
- { card: 8, type: 1, value: 6, disp: "<:heart_6:593054243624058885>" },
- { card: 9, type: 1, value: 5, disp: "<:heart_5:593054243985031178>" },
- { card: 10, type: 1, value: 4, disp: "<:heart_4:593054243905339413>" },
- { card: 11, type: 1, value: 3, disp: "<:heart_3:593054243792093184>" },
- { card: 12, type: 1, value: 2, disp: "<:heart_2:593054243901014016>" },
- { card: 13, type: 2, value: 11, disp: "<:diamond_ace:593054156189597707>" },
- { card: 14, type: 2, value: 10, disp: "<:diamond_king:593054156567347213>" },
- { card: 15, type: 2, value: 10, disp: "<:diamond_queen:593054156621873152>" },
- { card: 16, type: 2, value: 10, disp: "<:diamond_jack:593054156487655426>" },
- { card: 17, type: 2, value: 10, disp: "<:diamond_10:593054156466552832>" },
- { card: 18, type: 2, value: 9, disp: "<:diamond_9:593054156105842720>" },
- { card: 19, type: 2, value: 8, disp: "<:diamond_8:593054156046991401>" },
- { card: 20, type: 2, value: 7, disp: "<:diamond_7:593054156412026883>" },
- { card: 21, type: 2, value: 6, disp: "<:diamond_6:593054156378603520>" },
- { card: 22, type: 2, value: 5, disp: "<:diamond_5:593054156290523156>" },
- { card: 23, type: 2, value: 4, disp: "<:diamond_4:593054156282003467>" },
- { card: 24, type: 2, value: 3, disp: "<:diamond_3:593054155912773638>" },
- { card: 25, type: 2, value: 2, disp: "<:diamond_2:593054156126945301>" },
- { card: 26, type: 3, value: 11, disp: "<:clover_ace:593054076955262986>" },
- { card: 27, type: 3, value: 10, disp: "<:clover_king:593054076925902858>" },
- { card: 28, type: 3, value: 10, disp: "<:clover_queen:593054076963651584>" },
- { card: 29, type: 3, value: 10, disp: "<:clover_jack:593054076485500929>" },
- { card: 30, type: 3, value: 10, disp: "<:clover_10:593054076975972352>" },
- { card: 31, type: 3, value: 9, disp: "<:clover_9:593054076867051541>" },
- { card: 32, type: 3, value: 8, disp: "<:clover_8:593054076816719873>" },
- { card: 33, type: 3, value: 7, disp: "<:clover_7:593054076569124876>" },
- { card: 34, type: 3, value: 6, disp: "<:clover_6:593054076497952769>" },
- { card: 35, type: 3, value: 5, disp: "<:clover_5:593054076732702731>" },
- { card: 36, type: 3, value: 4, disp: "<:clover_4:593054076732833803>" },
- { card: 37, type: 3, value: 3, disp: "<:clover_3:593054076636364800>" },
- { card: 38, type: 3, value: 2, disp: "<:clover_2:593054076644884509>" },
- { card: 39, type: 4, value: 11, disp: "<:spades_ace:593054761415344168>" },
- { card: 40, type: 4, value: 10, disp: "<:spades_king:593054761196978192>" },
- { card: 41, type: 4, value: 10, disp: "<:spades_queen:593054761490841601>" },
- { card: 42, type: 4, value: 10, disp: "<:spades_jack:593054761423470602>" },
- { card: 43, type: 4, value: 10, disp: "<:spades_10:593054761415344128>" },
- { card: 44, type: 4, value: 9, disp: "<:spades_9:593054727005011968>" },
- { card: 45, type: 4, value: 8, disp: "<:spades_8:593054614987735051>" },
- { card: 46, type: 4, value: 7, disp: "<:spades_7:593054615138729985>" },
- { card: 47, type: 4, value: 6, disp: "<:spades_6:593054614736207882>" },
- { card: 48, type: 4, value: 5, disp: "<:spades_5:593054615357095976>" },
- { card: 49, type: 4, value: 4, disp: "<:spades_4:593054615101243412>" },
- { card: 50, type: 4, value: 3, disp: "<:spades_3:593054615096786944>" },
- { card: 51, type: 4, value: 2, disp: "<:spades_2:593054615046455306>" }] //all the cards
- var cards = [];
- for (let i = 0; i < card.length; i++) {
- cards.push(card[i]);
- cards = cards.sort(() => Math.random() - 0.5);
- } //randomize default card array
- var player = [];
- var dealer = [];
- var dealerInitial = cards[(Math.random() * cards.length)]
- var playerInitial = cards[(Math.random() * cards.length)]
- var dealerValue = 0;
- var playerValue = 0;
- dealer.push(dealerInitial.disp) //pushes a card into dealer deck
- player.push(playerInitial.disp) //pushes a card into player deck
- dealerValue += dealerInitial.value
- playerValue += playerInitial.value
- if (playerValue > 21) {
- let playerBusted = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`**You're bust!** \n **Your Hand** \n ${player.join(" ")} \n **Dealer Hand** \n ${dealer.join(" ")}`)
- .setTimestamp()
- .setColor("RANDOM")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(playerBusted)
- } else if (playerValue == 21) {
- let playerWon = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`**You Won!** \n **Your Hand** \n ${player.join(" ")} \n **Dealer Hand** \n ${dealer.join(" ")}`)
- .setTimestamp()
- .setColor("RANDOM")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(playerWon)
- } else {
- let desc = `**Your Hand** \n ${player.join(" ")} \n **Dealer Hand** \n ${dealer.join(" ")} \n Would you like to \`hit\`, \`double down\`, \`split\` or \`stand\`?`
- let bjGame = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(desc)
- .setTimestamp()
- .setColor("RANDOM")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- msg.channel.send(bjGame).then(mes => {
- const filter = m => m.author.id === msg.author.id;
- msg.channel.awaitMessages(filter, {
- max: 5
- }).then(collected => {
- let response = collected.first().content.toLowerCase()
- switch (response) {
- case "hit":
- hit();
- desc = `**Your Hand** \n ${player.join(" ")} \n **Dealer Hand** \n ${dealer.join(" ")} \n Would you like to \`hit\`, \`double down\`, \`split\` or \`stand\`?`
- mes.edit(bjGame)
- break;
- case "double down":
- }
- })
- })
- }
- }
- } else {
- let activeCD = new Discord.RichEmbed()
- .setAuthor(`${msg.author.tag}`, msg.author.displayAvatarURL)
- .setDescription(`${cooldown} **${msg.author.username}**, wait **${2 - parseInt(bj)} minute(s)** before running this command again!`)
- .setTimestamp()
- .setColor("#ef5350")
- .setFooter(`User ID: ${msg.author.id}`, sIcon)
- return msg.channel.send(activeCD);
- }
- })
- })
- })
- }
- }
- module.exports.config = {
- name: 'blackjack',
- permLevel: 0,
- aliases: ["bj"],
- description: ["Play a game of blackjack."],
- parameter: ["{bet}"],
- usage: [`${config.prefix}blackjack {bet}`]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement