Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const Discord = require('discord.js');
- exports.run = (client, message, args) => {
- var e = 0;
- var aceitar = '✅';
- var recusar = '❌';
- var i = 0;
- var ganhador = ''
- var ganhadorft = ''
- var turno = 0;
- var letra = '';
- var letran = 0;
- var proximo = '';
- var g = '';
- var mencionado = msg.mentions.users.first()
- var jogador = msg.author;
- var x = msg.author
- var e = 0;
- var o = msg.mentions.users.first()
- var pm = 0;
- if (msg.mentions.users.first().id === msg.author.id) return msg.reply('você não pode jogar com você mesmo');
- if (msg.mentions.users.size < 1) return msg.reply('mencione alguem!');
- msg.channel.send({
- embed: {
- 'title': 'Jogo Da Velha',
- 'description': `O \`${msg.author.username}\` desafiou o \`${msg.mentions.users.first().username}\` para uma partida de jogo da velha!\n\n\`${msg.mentions.users.first().username}\` use as reaçoes para aceitar ou recusar!`,
- 'color': 65535
- }
- }).then(async function(n) {
- await n.react(aceitar)
- await n.react(recusar)
- const collector = n.createReactionCollector((r, u) => (r.emoji.name === aceitar || r.emoji.name === recusar) && u.id !== client.user.id);
- function retirar() {
- n.reactions.remove(client.user)
- }
- collector.on('collect', r => {
- switch (r.emoji.name) {
- case aceitar:
- e++
- if (r.users.array()[e] !== msg.mentions.users.first()) {
- r.remove(r.users.array()[e])
- e--
- return
- }
- r.remove(msg.mentions.users.first())
- e--
- do {
- n.reactions.array()[i].remove(client.user)
- i++
- }
- while (i < 2)
- r.remove(client.user)
- n.delete()
- main()
- collector.stop()
- break
- case recusar:
- e++
- if (r.users.array()[e] !== msg.mentions.users.first()) {
- r.remove(r.users.array()[e])
- e--
- return
- }
- r.remove(msg.mentions.users.first())
- e--
- n.edit({
- embed: {
- 'title': 'Jogo da velha recusado!',
- 'color': 16711680
- }
- })
- do {
- n.reactions.array()[i].remove(client.user)
- i++
- }
- while (i < 1)
- r.remove(client.user)
- collector.stop()
- break
- }
- })
- })
- // ========================================================================================== //
- var casas = ['1', '2', '3', '4', '5', '6', '7', '8', '9'];
- var tttvez;
- var usersselect = [0, 1];
- /* var selecionada = usersselect[Math.floor(Math.random() * 2)]
- if (selecionada == 0){
- var x = msg.author
- var o = msg.mentions.users.first()
- }
- else if (selecionada == 1){
- var x = msg.mentions.users.first()
- var o = msg.author
- }*/
- var users = [{
- user: undefined,
- icon: 'X'
- },
- {
- user: undefined,
- icon: 'O'
- }
- ];
- // pegando os users
- /* switch (Math.round(Math.random())) {
- case 0:
- users[0].user = userselect[0]
- users[1].user = userselect[1]
- break;
- case 1:
- users[1].user = userselect[0]
- users[0].user = userselect[1]
- break;
- } */
- // Pegando quem vai começar
- tttvez = Math.round(Math.random())
- var tttreacs = ['1⃣', '2⃣', '3⃣', '4⃣', '5⃣', '6⃣', '7⃣', '8⃣', '9⃣', '⭕'];
- function venceu() {
- ganhadorft = g.avatarURL
- ganhador = g.username
- msg.channel.send({
- embed: {
- 'title': `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`,
- 'description': `O ${ganhador} Venceu!`,
- 'color': '65535',
- 'thumbnail': {
- 'url': ganhadorft
- }
- }
- })
- }
- //function quando o cara clicka na reaçao de desistir
- function cancelou() {
- msg.channel.send({
- embed: {
- 'title': `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`,
- 'description': `O ${ganhador} Venceu!`,
- 'color': '65535',
- 'thumbnail': {
- 'url': ganhadorft
- }
- }
- })
- }
- function empate() {
- ganhadorft = g.avatarURL
- ganhador = g.username
- msg.channel.send({
- embed: {
- 'title': `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`,
- 'description': `O ${msg.author.username} e o ${msg.mentions.users.first().username} Empataram!`,
- 'color': '16776960',
- 'thumbnail': {
- 'url': client.user.avatarURL
- }
- }
- })
- }
- async function main() {
- // Criando a msg!
- var tttmsg = await msg.channel.send({
- embed: {
- 'title': `Jogo da Velha entre: \`${msg.author.username}\` e \`${msg.mentions.users.first().username}\``,
- 'description': organizar(),
- 'footer': {
- 'text': `vez do user ${x.username}`
- },
- 'color': 65535
- }
- })
- // Colocando os reacts
- for (var i = 0; i < tttreacs.length; i++) {
- await tttmsg.react(tttreacs[i]);
- }
- var titulo = `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`
- var e1 = 0;
- var e2 = 0;
- var e3 = 0;
- var cancel = 0;
- const coletor2 = tttmsg.createReactionCollector((r, u) => (r.emoji.name === tttreacs[0] || r.emoji.name === tttreacs[1] || r.emoji.name === tttreacs[2] || r.emoji.name === tttreacs[3] || r.emoji.name === tttreacs[4] || r.emoji.name === tttreacs[5] || r.emoji.name === tttreacs[6] || r.emoji.name === tttreacs[7] || r.emoji.name === tttreacs[8] || r.emoji.name === tttreacs[9]))
- coletor2.on('collect', r => {
- switch (r.emoji.name) {
- case tttreacs[0]:
- e1++
- if (r.users.array()[e1] !== jogador) {
- r.remove(r.users.array()[e1])
- e1--
- return
- }
- verificar()
- atualizar()
- casas[0] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v = 0; v < r.users.size; v++) {
- r.remove(r.users.array()[v])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e1--
- break
- case tttreacs[1]:
- e1++
- if (r.users.array()[e1] !== jogador) {
- r.remove(r.users.array()[e1])
- e1--
- return
- }
- verificar()
- atualizar()
- casas[1] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v2 = 0; v2 < r.users.size; v2++) {
- r.remove(r.users.array()[v2])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e1--
- break
- case tttreacs[2]:
- e1++
- if (r.users.array()[e1] !== jogador) {
- r.remove(r.users.array()[e1])
- e1--
- return
- }
- verificar()
- atualizar()
- casas[2] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v3 = 0; v3 < r.users.size; v3++) {
- r.remove(r.users.array()[v3])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e1--
- break
- case tttreacs[3]:
- e2++
- if (r.users.array()[e2] !== jogador) {
- r.remove(r.users.array()[e2])
- e2--
- return
- }
- verificar()
- atualizar()
- casas[3] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v4 = 0; v4 < r.users.size; v4++) {
- r.remove(r.users.array()[v4])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e2--
- break
- case tttreacs[4]:
- e2++
- if (r.users.array()[e2] !== jogador) {
- r.remove(r.users.array()[e2])
- e2--
- return
- }
- verificar()
- atualizar()
- casas[4] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v5 = 0; v5 < r.users.size; v5++) {
- r.remove(r.users.array()[v5])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e2--
- break
- case tttreacs[5]:
- e2++
- if (r.users.array()[e2] !== jogador) {
- r.remove(r.users.array()[e2])
- e2--
- return
- }
- verificar()
- atualizar()
- casas[5] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v6 = 0; v6 < r.users.size; v6++) {
- r.remove(r.users.array()[v6])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e2--
- break
- case tttreacs[6]:
- e3++
- if (r.users.array()[e3] !== jogador) {
- r.remove(r.users.array()[e3])
- e3--
- return
- }
- verificar()
- atualizar()
- casas[6] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v7 = 0; v7 < r.users.size; v7++) {
- r.remove(r.users.array()[v7])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e3--
- break
- case tttreacs[7]:
- e3++
- if (r.users.array()[e3] !== jogador) {
- r.remove(r.users.array()[e3])
- e3--
- return
- }
- verificar()
- atualizar()
- casas[7] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v8 = 0; v8 < r.users.size; v8++) {
- r.remove(r.users.array()[v8])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e3--
- break
- case tttreacs[8]:
- e3++
- if (r.users.array()[e3] !== jogador) {
- r.remove(r.users.array()[e3])
- e3--
- return
- }
- verificar()
- atualizar()
- casas[8] = letra
- vencedor()
- if (g !== '') {
- tttmsg.delete()
- return venceu()
- }
- if (e > 0) {
- tttmsg.delete()
- return empate()
- }
- for (var v9 = 0; v9 < r.users.size; v9++) {
- r.remove(r.users.array()[v9])
- }
- tttmsg.edit({
- embed: {
- 'title': titulo,
- 'description': `${organizar()}`,
- 'color': 65535,
- 'footer': {
- 'text': `Agora é o turno do ${proximo.username}`
- }
- }
- })
- e3--
- break
- case tttreacs[9]:
- cancel++
- if (r.users.array()[cancel] !== msg.author) {
- if (r.users.array()[cancel] !== msg.mentions.users.first()) {
- cancel--
- r.remove(r.users.array()[cancel])
- return
- }
- }
- if (r.users.array()[cancel] == msg.author) {
- ganhador += msg.mentions.users.first().username
- ganhadorft += msg.mentions.users.first().avatarURL
- } else if (r.users.array()[cancel] == msg.mentions.users.first()) {
- ganhador += msg.author.username
- ganhadorft += msg.author.avatarURL
- }
- tttmsg.delete()
- cancelou()
- cancel--
- break
- }
- })
- }
- function verificar() {
- if (turno === 0) {
- turno++
- proximo = o
- jogador = mencionado
- } else {
- turno--
- proximo = x
- jogador = msg.author
- }
- }
- function atualizar() {
- if (letran == 0) {
- letran++
- letra = 'X'
- } else if (letran == 1) {
- letran--
- letra = 'O'
- }
- }
- function organizar() {
- var organizado = [
- '```js',
- '+---+---+---+',
- `| ${casas[0]} | ${casas[1]} | ${casas[2]} |`,
- '+---+---+---+',
- `| ${casas[3]} | ${casas[4]} | ${casas[5]} |`,
- '+---+---+---+',
- `| ${casas[6]} | ${casas[7]} | ${casas[8]} |`,
- '+---+---+---+',
- '```'
- ]
- organizado = organizado.join('\n')
- return organizado
- };
- function vencedor() {
- if (casas[0] == 'X' && casas[1] == 'X' && casas[2] == 'X') {
- g = msg.author
- return
- } else if (casas[0] == 'O' && casas[1] == 'O' && casas[2] == 'O') {
- g = msg.mentions.users.first()
- return
- } else if (casas[3] == 'X' && casas[4] == 'X' && casas[5] == 'X') {
- g = msg.author
- return
- } else if (casas[3] == 'O' && casas[4] == 'O' && casas[5] == 'O') {
- g = msg.mentions.users.first()
- return
- }
- if (casas[6] == 'X' && casas[7] == 'X' && casas[8] == 'X') {
- g = msg.author
- return
- } else if (casas[6] == 'O' && casas[7] == 'O' && casas[8] == 'O') {
- g = msg.mentions.users.first()
- return
- } else if (casas[0] == 'X' && casas[3] == 'X' && casas[6] == 'X') {
- g = msg.author
- return
- } else if (casas[0] == 'O' && casas[3] == 'O' && casas[6] == 'O') {
- g = msg.mentions.users.first()
- return
- } else if (casas[1] == 'X' && casas[4] == 'X' && casas[7] == 'X') {
- g = msg.author
- return
- } else if (casas[1] == 'O' && casas[4] == 'O' && casas[7] == 'O') {
- g = msg.mentions.users.first()
- return
- } else if (casas[2] == 'X' && casas[5] == 'X' && casas[8] == 'X') {
- g = msg.author
- return
- } else if (casas[2] == 'O' && casas[5] == 'O' && casas[8] == 'O') {
- g = msg.mentions.users.first()
- return
- } else if (casas[0] == 'X' && casas[4] == 'X' && casas[8] == 'X') {
- g = msg.author
- return
- } else if (casas[6] == 'O' && casas[4] == 'O' && casas[2] == 'O') {
- g = msg.mentions.users.first()
- return
- } else if (casas[0] !== '1' && casas[1] !== '2' && casas[2] !== '3' && casas[3] !== '4' && casas[4] !== '5' && casas[5] !== '6' && casas[6] !== '7' && casas[7] !== '8' && casas[8] !== '9') {
- e++
- return
- } else {
- return
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement