UNPKG

dj-games

Version:

A Discord Js Package for Mini-Games. you can easily setup. It is beginner friendly. It need discord-buttons package to work

335 lines (257 loc) 13.2 kB
const discord = require('discord.js') class RPS { startGame = async(message) => { var challenger = message.author; var opponent = message.mentions.users.first() if(!opponent) return message.channel.send(`**You forget to mention**`) message.channel.send(`**${challenger.username} and ${opponent.username} check your DM's I sent you dm**`) const startEmbed1 = new discord.MessageEmbed() .setTitle(`Its ${challenger.username} his turn! Waiting...`) var waitingEmoji = await opponent.send(startEmbed1) const startEmbed = new discord.MessageEmbed() .setTitle(`${challenger.username}, its your turn!`) .setDescription(`Which play do you gonna make? 🪨 = Stone 🧻 = Paper ✂️ = Scissors`) var startEmoji = await challenger.send(startEmbed) await startEmoji.react('🪨') await startEmoji.react('🧻') await startEmoji.react('✂️') const filter1 = (reaction, user) => ["🪨", "🧻", "✂️"].includes(reaction.emoji.name) && user.id === challenger.id; const response1 = await startEmoji.awaitReactions(filter1, { max: 1 }); const reaction1 = response1.first(); var cResult = ""; var oResult = ""; if(reaction1.emoji.name === "🪨") { cResult = "stone" const stoneEmbed = new discord.MessageEmbed() .setTitle(`Its ${opponent.username} his turn! Waiting...`) var waitingEmoji1 = await startEmoji.edit(stoneEmbed) const oppenentEmbed = new discord.MessageEmbed() .setTitle(`${opponent.username}, its your turn!`) .setDescription(`Which play do you gonna make? 🪨 = Stone 🧻 = Paper ✂️ = Scissors`) var endEmoji = await waitingEmoji.edit(oppenentEmbed) await endEmoji.react('🪨') await endEmoji.react('🧻') await endEmoji.react('✂️') const filter2 = (reaction, user) => ["🪨", "🧻", "✂️"].includes(reaction.emoji.name) && user.id === opponent.id; const response2 = await endEmoji.awaitReactions(filter2, { max: 1 }); const reaction2 = response2.first(); if(reaction2.emoji.name === "🪨") { oResult = "stone" if(cResult === "stone") { if(oResult === "stone") { const drawEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: 🪨 ${opponent.username} choose: 🪨`) waitingEmoji1.edit(drawEmbed) const drawEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: 🪨 ${challenger.username} choose: 🪨`) return endEmoji.edit(drawEmbed1) } else if(oResult === "paper") { const loseEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${opponent.username} won!`) .setDescription(`You choose: 🪨 ${opponent.username} choose:🧻`) waitingEmoji1.edit(loseEmbed) const winEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choose: 🧻 ${challenger.username} choose: 🪨`) return endEmoji.edit(winEmbed) } } } else if(reaction2.emoji.name === "🧻") { oResult = "paper" } else if(reaction2.emoji.name === "✂️") { oResult = "scissors" } } else if(reaction1.emoji.name === "🧻") { cResult = "paper" const paperEmbed = new discord.MessageEmbed() .setTitle(`Its ${opponent.username} his turn! Waiting...`) var waitingEmoji1 = await startEmoji.edit(paperEmbed) const oppenentEmbed = new discord.MessageEmbed() .setTitle(`${opponent.username}, its your turn!`) .setDescription(`What do you choose? 🪨 = Stone 🧻 = Paper ✂️ = Scissors`) var endEmoji = await waitingEmoji.edit(oppenentEmbed) await endEmoji.react('🪨') await endEmoji.react('🧻') await endEmoji.react('✂️') const filter2 = (reaction, user) => ["🪨", "🧻", "✂️"].includes(reaction.emoji.name) && user.id === opponent.id; const response2 = await endEmoji.awaitReactions(filter2, { max: 1 }); const reaction2 = response2.first(); if(reaction2.emoji.name === "🪨") { oResult = "stone" } else if(reaction2.emoji.name === "🧻") { oResult = "paper" } else if(reaction2.emoji.name === "✂️") { oResult = "scissors" } } else if(reaction1.emoji.name === "✂️") { cResult = "scissors" const scissorsEmbed = new discord.MessageEmbed() .setTitle(`Its ${opponent.username} his turn! Waiting...`) var waitingEmoji1 = await startEmoji.edit(scissorsEmbed) const oppenentEmbed = new discord.MessageEmbed() .setTitle(`${opponent.username}, its your turn!`) .setDescription(`what do you choose? 🪨 = Stone 🧻 = Paper ✂️ = Scissors`) var endEmoji = await waitingEmoji.edit(oppenentEmbed) await endEmoji.react('🪨') await endEmoji.react('🧻') await endEmoji.react('✂️') const filter2 = (reaction, user) => ["🪨", "🧻", "✂️"].includes(reaction.emoji.name) && user.id === opponent.id; const response2 = await endEmoji.awaitReactions(filter2, { max: 1 }); const reaction2 = response2.first(); if(reaction2.emoji.name === "🪨") { oResult = "stone" } else if(reaction2.emoji.name === "🧻") { oResult = "paper" } else if(reaction2.emoji.name === "✂️") { oResult = "scissors" } } if(cResult === "stone") { if(oResult === "stone") { const drawEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: 🪨 ${opponent.username} choose: 🪨`) waitingEmoji1.edit(drawEmbed) const drawEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: 🪨 ${challenger.username} choose: 🪨`) return endEmoji.edit(drawEmbed1) } else if(oResult === "paper") { const loseEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${opponent.username} won!`) .setDescription(`You choose: 🪨 ${opponent.username} choose: 🧻`) waitingEmoji1.edit(loseEmbed) const winEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choosr: 🧻 ${challenger.username} choose: 🪨`) return endEmoji.edit(winEmbed) } else if(oResult === "scissors") { const loseEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choose: 🪨 ${opponent.username} choose: ✂️`) waitingEmoji1.edit(loseEmbed1) const winEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${challenger.username} won!`) .setDescription(`You choose: ✂️ ${challenger.username} choose: 🪨`) return endEmoji.edit(winEmbed1) } } else if(cResult === "paper") { if(oResult === "paper") { const drawEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: 🧻 ${opponent.username} choose: 🧻`) waitingEmoji1.edit(drawEmbed) const drawEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: 🧻 ${challenger.username} choose: 🧻`) return endEmoji.edit(drawEmbed1) } else if(oResult === "stone") { const loseEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choose: 🧻 ${opponent.username} choose: 🪨`) waitingEmoji1.edit(loseEmbed) const winEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${challenger.username} won!`) .setDescription(`You choosr: 🪨 ${challenger.username} choose: 🧻`) return endEmoji.edit(winEmbed) } else if(oResult === "scissors") { const loseEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${opponent.username} won!`) .setDescription(`You choose: 🧻 ${opponent.username} choose: ✂️`) waitingEmoji1.edit(loseEmbed1) const winEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choose: ✂️ ${challenger.username} choose: 🧻`) endEmoji.edit(winEmbed1) } } else if(cResult === "scissors") { if(oResult === "scissors") { const drawEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choosr: ✂️ ${opponent.username} choose: ✂️`) waitingEmoji1.edit(drawEmbed) const drawEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`Its a Draw!`) .setDescription(`You choose: ✂️ ${challenger.username} choose: ✂️`) return endEmoji.edit(drawEmbed1) } else if(oResult === "paper") { const loseEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choose: ✂️ ${opponent.username} choose: 🧻`) waitingEmoji1.edit(loseEmbed) const winEmbed = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${challenger.username} won!`) .setDescription(`You choose: 🧻 ${challenger.username} choose: ✂️`) return endEmoji.edit(winEmbed) } else if(oResult === "stone") { const winEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`${challenger.username} won!`) .setDescription(`You choose: ✂️ ${challenger.username} choose: 🪨`) endEmoji.edit(winEmbed1) const loseEmbed1 = new discord.MessageEmbed() .setColor("RANDOM") .setTitle(`You won!`) .setDescription(`You choose: 🪨 ${opponent.username} choose: ✂️`) return waitingEmoji1.edit(loseEmbed1) } } } } module.exports = RPS