daisy-blackjack
Version:
Blackjack Game for Daisy
354 lines (321 loc) • 24.2 kB
JavaScript
const shuffle = require("shuffle-array");
const Discord = require("discord.js");
const Collect = require("./collect");
module.exports = async (message, options) => {
if (!message) throw new Error("[MISSING_PARAMETER] The message or interaction parameter was not provided, was null or undefined.");
if (!(message instanceof Discord.Message) && !(message instanceof Discord.CommandInteraction)) throw new Error("[INVALID_PARAMATER] The message or interaction parameter provided is not valid.");
if (!options) options = {};
options.transition === "edit" ? options.transition = "edit" : options.transition = "delete";
options.buttons === false ? options.buttons = false : options.buttons = true;
options.doubledown === false ? options.doubledown = false : options.doubledown = true;
options.insurance === false ? options.insurance = false : options.insurance = true;
options.split === false ? options.split = false : options.split = true;
options.resultEmbed === false ? options.resultEmbed = false : options.resultEmbed = true;
options.normalEmbed === false ? options.normalEmbed = false : options.normalEmbed = true;
!options.emojis ? options.emojis = {} : options.emojis;
options.emojis = {
clubs: options.emojis?.clubs || "♣️",
spades: options.emojis?.spades || "♠️",
hearts: options.emojis?.hearts || "♥️",
diamonds: options.emojis?.diamonds || "♦️"
};
let commandType;
if (message instanceof Discord.Message) {
commandType = "message";
} else if (message instanceof Discord.CommandInteraction) {
commandType = "interaction";
};
options.commandType = commandType;
if (options && !(options instanceof Object)) throw new Error(`[INVALID_PARAMATER] The options parameter expected an object, but recieved ${Array.isArray(options) ? "array" : typeof options }`);
if (typeof options.emojis !== "object") throw new Error(`[INVALID_PARAMATER] The options.emojis parameter expected an object, but recieved ${typeof options}.`);
if (typeof options.emojis.spades !== "string") throw new Error(`[INVALID_PARAMATER] The emojis.spades option expected a string, but recieved ${typeof options.emojis.spades}`);
if (typeof options.emojis.hearts !== "string") throw new Error(`[INVALID_PARAMATER] The emojis.hearts option expected a string, but recieved ${typeof options.emojis.hearts}`);
if (typeof options.emojis.diamonds !== "string") throw new Error(`[INVALID_PARAMATER] The emojis.diamonds option expected a string, but recieved ${typeof options.emojis.diamonds}`);
if (typeof options.emojis.clubs !== "string") throw new Error(`[INVALID_PARAMATER] The emojis.clubs option expected a string, but recieved ${typeof options.emojis.clubs}`);
if (options.normalEmbed === false && !options.normalEmbedContent) throw new Error("[MISSING_PARAMETER] The normalEmbedContent option was not provided, was null or undefined when normalEmbed was set to false.");
if (options.normalEmbed === false && typeof options.normalEmbedContent !== "object") throw new Error("[INVALID_PARAMATER] The normalEmbedContent parameter provided is not valid.");
let starterMessage;
if (commandType === "interaction" && !message.deferred && !message.replied) {
starterMessage = await message.deferReply();
} else if (commandType === "message") {
starterMessage = await message.channel.send({ embeds: [{ title: "Oyun başlıyor.", description: "Oyun birazdan başlıyor, hazırlan!" }] });
};
let normalEmbedContent = options.normalEmbedContent ?? "None";
let transition = options.transition;
let buttons = options.buttons;
let doubledown = options.doubledown;
let insurance = options.insurance;
let split = options.split;
let resultEmbed = options.resultEmbed;
let normalEmbed = options.normalEmbed;
let userId = message.member.id;
let isSoft = false;
let method = "None";
let copiedEmbed = {
content: "",
value: ""
};
let DECK = [
{ suit: 'clubs', rank: 'A', value: [1, 11], emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '2', value: 2, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '3', value: 3, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '4', value: 4, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '5', value: 5, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '6', value: 6, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '7', value: 7, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '8', value: 8, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '9', value: 9, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: '10', value: 10, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: 'J', value: 10, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: 'Q', value: 10, emoji: options.emojis.clubs },
{ suit: 'clubs', rank: 'K', value: 10, emoji: options.emojis.clubs },
{ suit: 'diamonds', rank: 'A', value: [1, 11], emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '2', value: 2, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '3', value: 3, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '4', value: 4, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '5', value: 5, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '6', value: 6, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '7', value: 7, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '8', value: 8, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '9', value: 9, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: '10', value: 10, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: 'J', value: 10, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: 'Q', value: 10, emoji: options.emojis.diamonds },
{ suit: 'diamonds', rank: 'K', value: 10, emoji: options.emojis.diamonds },
{ suit: 'hearts', rank: 'A', value: [1, 11], emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '2', value: 2, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '3', value: 3, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '4', value: 4, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '5', value: 5, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '6', value: 6, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '7', value: 7, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '8', value: 8, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '9', value: 9, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: '10', value: 10, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: 'J', value: 10, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: 'Q', value: 10, emoji: options.emojis.hearts },
{ suit: 'hearts', rank: 'K', value: 10, emoji: options.emojis.hearts },
{ suit: 'spades', rank: 'A', value: [1, 11], emoji: options.emojis.spades },
{ suit: 'spades', rank: '2', value: 2, emoji: options.emojis.spades },
{ suit: 'spades', rank: '3', value: 3, emoji: options.emojis.spades },
{ suit: 'spades', rank: '4', value: 4, emoji: options.emojis.spades },
{ suit: 'spades', rank: '5', value: 5, emoji: options.emojis.spades },
{ suit: 'spades', rank: '6', value: 6, emoji: options.emojis.spades },
{ suit: 'spades', rank: '7', value: 7, emoji: options.emojis.spades },
{ suit: 'spades', rank: '8', value: 8, emoji: options.emojis.spades },
{ suit: 'spades', rank: '9', value: 9, emoji: options.emojis.spades },
{ suit: 'spades', rank: '10', value: 10, emoji: options.emojis.spades },
{ suit: 'spades', rank: 'J', value: 10, emoji: options.emojis.spades },
{ suit: 'spades', rank: 'Q', value: 10, emoji: options.emojis.spades },
{ suit: 'spades', rank: 'K', value: 10, emoji: options.emojis.spades },
];
let hitbtn = { label: "Kart Çek", style: 1, custom_id: "discord-blackjack-hitbtn", type: 2 };
let standbtn = { label: "Kart Alma", style: 1, custom_id: "discord-blackjack-standbtn", type: 2 };
let ddownbtn = { label: "İkiye Katla", style: 1, custom_id: "discord-blackjack-ddownbtn", type: 2 };
let splitbtn = { label: "Kartları Böl", style: 1, custom_id: "discord-blackjack-splitbtn", type: 2 };
let insbtn = { label: "Sigorta Al", style: 1, custom_id: "discord-blackjack-insbtn", type: 2 };
let noinsbtn = { label: "Sigorta Alma", style: 4, custom_id: "discord-blackjack-noinsbtn", type: 2 };
let row1 = { type: 1, components: [hitbtn, standbtn] };
shuffle(DECK);
shuffle(DECK);
shuffle(DECK);
shuffle(DECK);
shuffle(DECK);
let currentDeck = DECK;
let yourcards = [ currentDeck.pop(), currentDeck.pop() ];
let dealercards = [ currentDeck.pop(), currentDeck.pop() ];
let winEmbed = { title: "Kazandın!", color: 0x008800, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let loseEmbed = { title: "Kaybettin!", color: 0xFF0000, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let tieEmbed = { title: "Berabere kaldın!", color: 0xFFFF00, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitWinEmbed = { title: "Böldün ve iki eli de kazandın!", color: 0x008800, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitLoseEmbed = { title: "Böldün ve iki eli de kaybettin!", color: 0xFF0000, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitTieEmbed = { title: "Böldün ve iki elde de berabere kaldın!", color: 0xFFFF00, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitTieWinEmbed = { title: "Böldün: İlk el berabere, ikinci eli kazandın.", color: 0x008800, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitWinTieEmbed = { title: "Böldün: İlk eli kazandın, ikinci el berabere.", color: 0x008800, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitTieLoseEmbed = { title: "Böldün: İlk el berabere, ikinci eli kaybettin.", color: 0xFF0000, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitLoseTieEmbed = { title: "Böldün: İlk eli kaybettin, ikinci el berabere.", color: 0xFF0000, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitWinLoseEmbed = { title: "Böldün: İlk eli kazandın, ikinci eli kaybettin.", color: 0xFFFF00, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let splitLoseWinEmbed = { title: "Böldün: İlk eli kaybettin, ikinci eli kazandın.", color: 0xFFFF00, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let insWinEmbed = { title: "Kazandın! (sigorta ödedin)", color: 0x008800, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let insLoseEmbed = { title: "Kaybettin! (sigorta ödedin)", color: 0xFF0000, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let insTieEmbed = { title: "Berabere kaldın! (sigorta ödedin)", color: 0xFF0000, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let insPayEmbed = { title: "Sigorta Ödemesi!", color: 0x008800, description: "", fields: [], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let timeoutEmbed = { title: "Süre doldu!", color: 0xFF0000, description: "Yanıt vermeniz 30 saniyeden fazla sürdü. Süre doldu ve oyun iptal edildi.", fields: [], author: { name: message.member.user.tag, icon_url: message.member.displayAvatarURL() } } ;
let cancelEmbed = { title: "Oyun iptal edildi!", color: 0xFF0000, description: "Devam eden Blackjack oyununuzu iptal etmeye karar verdiniz.", fields: [], author: { name: message.member.displayName, icon_url: message.member.displayAvatarURL() } };
let generalEmbed = normalEmbed === false ? options.normalEmbedContent : { title: "Blackjack", color: Math.floor(Math.random() * (0xffffff + 1)), fields: [{ name: "Senin elin", value: "", inline: true }, { name: `Satıcının eli`, value: "", inline: true }], author: { name: message.member.displayName, icon_url: message.member.user.displayAvatarURL() } };
let allFilter = ["h", "hit", "s", "stand", "cancel"];
if (yourcards[0].rank === yourcards[1].rank && yourcards[0].rank === "A") {
yourcards[0].value = 11;
yourcards[1].value = 1;
isSoft = true;
} else if (yourcards[0].rank === "A") {
yourcards[0].value = 11;
} else if (yourcards[1].rank === "A") {
yourcards[1].value = 11;
};
if (dealercards[0].rank === dealercards[1].rank && dealercards[0].rank === "A") {
dealercards[0].value = 11;
dealercards[1].value = 1;
isSoft = true;
} else if (dealercards[0].rank === "A") {
dealercards[0].value = 11;
} else if (dealercards[1].rank === "A") {
dealercards[1].value = 11;
};
if (yourcards.map(c => c.rank).includes("A")) isSoft = true;
generalEmbed.fields[0].value = `Kartlar: ${yourcards.map(c => `[\`${c.emoji} ${c.rank}\`](https://daisybot.tech)`).join(" ")}\nToplam: ${yourcards.map(c => c.value).reduce((a, b) => b + a)}${isSoft ? "*" : ""}`;
generalEmbed.fields[1].value = `Kartlar: [\`${dealercards[0].emoji} ${dealercards[0].rank}\`](https://daisybot.tech) \` ? \`\nToplam: \` ? \``;
options.embed = generalEmbed;
let yourvalue = yourcards.map(c => c.value).reduce((a, b) => b + a);
let dealervalue = dealercards.map(c => c.value).reduce((a, b) => b + a);
if (doubledown === true) {
if (yourcards.map(a => a.value).reduce((a, b) => b + a) === 9 || (yourcards.map(a => a.value).reduce((a, b) => b+a) === 10 || yourcards.map(a => a.value).reduce((a, b) => b+a) === 11)) {
row1.components.push(ddownbtn);
allFilter.push("d");
allFilter.push("doubledown");
};
};
if (yourcards[0].rank === yourcards[1].rank && split === true) {
row1.components.push(splitbtn);
allFilter.push("split");
};
if (dealercards[0].rank === "A" && insurance === true) {
if (yourvalue != 21) {
row1.components = [];
row1.components.push(insbtn);
row1.components.push(noinsbtn);
allFilter.push("i");
allFilter.push("insurance");
allFilter.push("ni");
allFilter.push("noinsurance");
};
};
if (yourvalue === 21 && dealervalue != 21) {
if (options.resultEmbed === true) {
winEmbed.description = "Blackjack ile kazandın.";
winEmbed.fields.push({ name: "Senin elin", value: `Kartlar: [\`${yourcards[0].emoji} ${yourcards[0].rank}\`](https://daisybot.tech) [\`${yourcards[1].emoji} ${yourcards[1].rank}\`](https://daisybot.tech)\nToplam: ${yourvalue}` });
winEmbed.fields.push({ name: "Satıcının eli", value: `Kart: [\`${dealercards[0].emoji} ${dealercards[0].rank}\`](https://daisybot.tech) [\`${dealercards[1].emoji} ${dealercards[1].rank}\`](https://daisybot.tech)\nToplam: ${dealervalue}` });
commandType === "message" ? message.channel.send({ embeds: [winEmbed] }) : message.followUp({ embeds: [winEmbed] });
};
return {
result: "BLACKJACK",
method: "You won with blackjack.",
ycard: yourcards,
dcard: dealercards
};
} else if (dealervalue === 21 && dealervalue == yourvalue) {
if (options.resultEmbed === true) {
tieEmbed.description = "Her iki taraftada blackjack vardı.";
tieEmbed.fields.push({ name: "Senin elin", value: `Kartlar: [\`${yourcards[0].emoji} ${yourcards[0].rank}\`](https://daisybot.tech) [\`${yourcards[1].emoji} ${yourcards[1].rank}\`](https://daisybot.tech)\nToplam: ${yourvalue}` });
tieEmbed.fields.push({ name: "Satıcının eli", value: `Kartlar: [\`${dealercards[0].emoji} ${dealercards[0].rank}\`](https://daisybot.tech) [\`${dealercards[1].emoji} ${dealercards[1].rank}\`](https://daisybot.tech)\nToplam: ${dealervalue}` });
commandType === "message" ? message.channel.send({ embeds: [tieEmbed] }) : message.followUp({ embeds: [tieEmbed] });
};
return {
result: "TIE",
method: "You tied (both had blackjack).",
ycard: yourcards,
dcard: dealercards
};
};
const editReply = async (msg, reply, commandType) => {
if (commandType === "message") {
return await msg.edit({ embeds: [reply], components: buttons ? [ row1 ] : [] });
} else {
return await message.editReply({ embeds: [reply], components: buttons ? [ row1 ] : [] });
};
};
let currentMessage = await editReply(starterMessage, generalEmbed, commandType);
let finalResult = await (options.buttons ? new Collect().buttonCollect(currentMessage, userId, yourcards, dealercards, currentDeck, options) : new Collect().messageCollect(currentMessage, userId, yourcards, dealercards, currentDeck, options, allFilter))
if (options.resultEmbed === true) {
let resultingEmbed = {
"WIN": winEmbed,
"BLACKJACK": winEmbed,
"LOSE": loseEmbed,
"TIE": tieEmbed,
"DOUBLE WIN": winEmbed,
"DOUBLE LOSE": loseEmbed,
"DOUBLE TIE": tieEmbed,
"SPLIT WIN-LOSE": splitWinLoseEmbed,
"SPLIT LOSE-WIN": splitLoseWinEmbed,
"SPLIT TIE-TIE": splitTieEmbed,
"SPLIT WIN-WIN": splitWinEmbed,
"SPLIT LOSE-LOSE": splitLoseEmbed,
"SPLIT TIE-WIN": splitTieWinEmbed,
"SPLIT WIN-TIE": splitWinTieEmbed,
"SPLIT TIE-LOSE": splitTieLoseEmbed,
"SPLIT LOSE-TIE": splitLoseTieEmbed,
"SPLIT BLACKJACK-WIN": splitWinEmbed,
"SPLIT WIN-BLACKJACK": splitWinEmbed,
"SPLIT BLACKJACK-LOSE": splitWinLoseEmbed,
"SPLIT LOSE-BLACKJACK": splitLoseWinEmbed,
"SPLIT BLACKJACK-BLACKJACK": splitWinEmbed,
"SPLIT BLACKJACK-TIE": splitWinTieEmbed,
"SPLIT TIE-BLACKJACK": splitTieWinEmbed,
"SPLIT DOUBLE WIN-LOSE": splitWinLoseEmbed,
"SPLIT DOUBLE LOSE-WIN": splitLoseWinEmbed,
"SPLIT DOUBLE TIE-TIE": splitTieEmbed,
"SPLIT DOUBLE WIN-WIN": splitWinEmbed,
"SPLIT DOUBLE LOSE-LOSE": splitLoseEmbed,
"SPLIT DOUBLE TIE-WIN": splitTieWinEmbed,
"SPLIT DOUBLE WIN-TIE": splitWinTieEmbed,
"SPLIT DOUBLE TIE-LOSE": splitTieLoseEmbed,
"SPLIT DOUBLE LOSE-TIE": splitLoseTieEmbed,
"SPLIT DOUBLE BLACKJACK-WIN": splitWinEmbed,
"SPLIT DOUBLE WIN-BLACKJACK": splitWinEmbed,
"SPLIT DOUBLE BLACKJACK-LOSE": splitWinLoseEmbed,
"SPLIT DOUBLE LOSE-BLACKJACK": splitLoseWinEmbed,
"SPLIT DOUBLE BLACKJACK-BLACKJACK": splitWinEmbed,
"SPLIT DOUBLE BLACKJACK-TIE": splitWinTieEmbed,
"SPLIT DOUBLE TIE-BLACKJACK": splitTieWinEmbed,
"SPLIT WIN-DOUBLE LOSE": splitWinLoseEmbed,
"SPLIT LOSE-DOUBLE WIN": splitLoseWinEmbed,
"SPLIT TIE-DOUBLE TIE": splitTieEmbed,
"SPLIT WIN-DOUBLE WIN": splitWinEmbed,
"SPLIT LOSE-DOUBLE LOSE": splitLoseEmbed,
"SPLIT TIE-DOUBLE WIN": splitTieWinEmbed,
"SPLIT WIN-DOUBLE TIE": splitWinTieEmbed,
"SPLIT TIE-DOUBLE LOSE": splitTieLoseEmbed,
"SPLIT LOSE-DOUBLE TIE": splitLoseTieEmbed,
"SPLIT BLACKJACK-DOUBLE WIN": splitWinEmbed,
"SPLIT WIN-DOUBLE BLACKJACK": splitWinEmbed,
"SPLIT BLACKJACK-DOUBLE LOSE": splitWinLoseEmbed,
"SPLIT LOSE-DOUBLE BLACKJACK": splitLoseWinEmbed,
"SPLIT BLACKJACK-DOUBLE BLACKJACK": splitWinEmbed,
"SPLIT BLACKJACK-DOUBLE TIE": splitWinTieEmbed,
"SPLIT TIE-DOUBLE BLACKJACK": splitTieWinEmbed,
"SPLIT DOUBLE WIN-DOUBLE LOSE": splitWinLoseEmbed,
"SPLIT DOUBLE LOSE-DOUBLE WIN": splitLoseWinEmbed,
"SPLIT DOUBLE TIE-DOUBLE TIE": splitTieEmbed,
"SPLIT DOUBLE WIN-DOUBLE WIN": splitWinEmbed,
"SPLIT DOUBLE LOSE-DOUBLE LOSE": splitLoseEmbed,
"SPLIT DOUBLE TIE-DOUBLE WIN": splitTieWinEmbed,
"SPLIT DOUBLE WIN-DOUBLE TIE": splitWinTieEmbed,
"SPLIT DOUBLE TIE-DOUBLE LOSE": splitTieLoseEmbed,
"SPLIT DOUBLE LOSE-DOUBLE TIE": splitLoseTieEmbed,
"SPLIT DOUBLE BLACKJACK-DOUBLE WIN": splitWinEmbed,
"SPLIT DOUBLE WIN-DOUBLE BLACKJACK": splitWinEmbed,
"SPLIT DOUBLE BLACKJACK-DOUBLE LOSE": splitWinLoseEmbed,
"SPLIT DOUBLE LOSE-DOUBLE BLACKJACK": splitLoseWinEmbed,
"SPLIT DOUBLE BLACKJACK-DOUBLE BLACKJACK": splitWinEmbed,
"SPLIT DOUBLE BLACKJACK-DOUBLE TIE": splitWinTieEmbed,
"SPLIT DOUBLE TIE-DOUBLE BLACKJACK": splitTieWinEmbed,
"INSURANCE PAYOUT": insPayEmbed,
"INSURANCE WIN": insWinEmbed,
"INSURANCE LOSE": insLoseEmbed,
"INSURANCE TIE": insTieEmbed,
"CANCEL": cancelEmbed,
"TIMEOUT": timeoutEmbed
}
let finalEmbed = resultingEmbed[finalResult.result]
if (finalResult.method !== "None") {
finalEmbed.description = finalResult.method
}
finalEmbed.fields.push({ name: `Senin elin`, value: `Kartlar: ${finalResult.ycard.map(c => `[\`${c.emoji} ${c.rank}\`](https://daisybot.tech)`).join(" ")}\nToplam: ${finalResult.ycard.map(card => card.value).reduce((a, b) => b+a)}`, inline: true })
if (finalResult.ycard2 != null) {
finalEmbed.fields.push({ name: `İkinci elin`, value: `Kartlar: ${finalResult.ycard2.map(c => `[\`${c.emoji} ${c.rank}\`](https://daisybot.tech)`).join(" ")}\nToplam: ${finalResult.ycard2.map(card => card.value).reduce((a, b) => b+a)}`, inline: true })
}
finalEmbed.fields.push({ name: `${message.client.user.username}'nin eli`, value: `Kartlar: ${finalResult.dcard.map(c => `[\`${c.emoji} ${c.rank}\`](https://daisybot.tech)`).join(" ")}\nToplam: ${finalResult.dcard.map(card => card.value).reduce((a, b) => b+a)}`, inline: true })
options.commandType === "message" ? message.channel.send({ embeds: [finalEmbed] }) : message.editReply({ embeds: [finalEmbed] })
}
return finalResult;
}