Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.40 KB | None | 0 0
  1. const Discord = require('discord.js');
  2.  
  3. exports.run = (client, message, args) => {
  4. var e = 0;
  5. var aceitar = '✅';
  6. var recusar = '❌';
  7. var i = 0;
  8. var ganhador = ''
  9. var ganhadorft = ''
  10. var turno = 0;
  11. var letra = '';
  12. var letran = 0;
  13. var proximo = '';
  14. var g = '';
  15. var mencionado = msg.mentions.users.first()
  16. var jogador = msg.author;
  17. var x = msg.author
  18. var e = 0;
  19. var o = msg.mentions.users.first()
  20. var pm = 0;
  21. if (msg.mentions.users.first().id === msg.author.id) return msg.reply('você não pode jogar com você mesmo');
  22. if (msg.mentions.users.size < 1) return msg.reply('mencione alguem!');
  23. msg.channel.send({
  24. embed: {
  25. 'title': 'Jogo Da Velha',
  26. '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!`,
  27. 'color': 65535
  28. }
  29. }).then(async function(n) {
  30. await n.react(aceitar)
  31. await n.react(recusar)
  32.  
  33. const collector = n.createReactionCollector((r, u) => (r.emoji.name === aceitar || r.emoji.name === recusar) && u.id !== client.user.id);
  34.  
  35. function retirar() {
  36. n.reactions.remove(client.user)
  37. }
  38. collector.on('collect', r => {
  39. switch (r.emoji.name) {
  40. case aceitar:
  41. e++
  42. if (r.users.array()[e] !== msg.mentions.users.first()) {
  43.  
  44. r.remove(r.users.array()[e])
  45. e--
  46. return
  47. }
  48. r.remove(msg.mentions.users.first())
  49. e--
  50.  
  51. do {
  52. n.reactions.array()[i].remove(client.user)
  53. i++
  54. }
  55. while (i < 2)
  56. r.remove(client.user)
  57. n.delete()
  58. main()
  59. collector.stop()
  60. break
  61. case recusar:
  62. e++
  63. if (r.users.array()[e] !== msg.mentions.users.first()) {
  64.  
  65. r.remove(r.users.array()[e])
  66. e--
  67. return
  68. }
  69. r.remove(msg.mentions.users.first())
  70. e--
  71. n.edit({
  72. embed: {
  73. 'title': 'Jogo da velha recusado!',
  74. 'color': 16711680
  75. }
  76. })
  77. do {
  78. n.reactions.array()[i].remove(client.user)
  79. i++
  80. }
  81. while (i < 1)
  82. r.remove(client.user)
  83. collector.stop()
  84. break
  85. }
  86. })
  87. })
  88.  
  89. // ========================================================================================== //
  90.  
  91. var casas = ['1', '2', '3', '4', '5', '6', '7', '8', '9'];
  92. var tttvez;
  93. var usersselect = [0, 1];
  94. /* var selecionada = usersselect[Math.floor(Math.random() * 2)]
  95. if (selecionada == 0){
  96. var x = msg.author
  97. var o = msg.mentions.users.first()
  98. }
  99. else if (selecionada == 1){
  100. var x = msg.mentions.users.first()
  101. var o = msg.author
  102. }*/
  103.  
  104. var users = [{
  105. user: undefined,
  106. icon: 'X'
  107. },
  108. {
  109. user: undefined,
  110. icon: 'O'
  111. }
  112. ];
  113. // pegando os users
  114. /* switch (Math.round(Math.random())) {
  115. case 0:
  116. users[0].user = userselect[0]
  117. users[1].user = userselect[1]
  118.  
  119. break;
  120. case 1:
  121. users[1].user = userselect[0]
  122. users[0].user = userselect[1]
  123.  
  124. break;
  125. } */
  126.  
  127.  
  128. // Pegando quem vai começar
  129. tttvez = Math.round(Math.random())
  130.  
  131.  
  132. var tttreacs = ['1⃣', '2⃣', '3⃣', '4⃣', '5⃣', '6⃣', '7⃣', '8⃣', '9⃣', '⭕'];
  133.  
  134. function venceu() {
  135. ganhadorft = g.avatarURL
  136. ganhador = g.username
  137. msg.channel.send({
  138. embed: {
  139. 'title': `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`,
  140. 'description': `O ${ganhador} Venceu!`,
  141. 'color': '65535',
  142. 'thumbnail': {
  143. 'url': ganhadorft
  144. }
  145. }
  146. })
  147. }
  148. //function quando o cara clicka na reaçao de desistir
  149.  
  150. function cancelou() {
  151. msg.channel.send({
  152. embed: {
  153. 'title': `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`,
  154. 'description': `O ${ganhador} Venceu!`,
  155. 'color': '65535',
  156. 'thumbnail': {
  157. 'url': ganhadorft
  158. }
  159. }
  160. })
  161.  
  162. }
  163.  
  164. function empate() {
  165. ganhadorft = g.avatarURL
  166. ganhador = g.username
  167. msg.channel.send({
  168. embed: {
  169. 'title': `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`,
  170. 'description': `O ${msg.author.username} e o ${msg.mentions.users.first().username} Empataram!`,
  171. 'color': '16776960',
  172. 'thumbnail': {
  173. 'url': client.user.avatarURL
  174. }
  175. }
  176. })
  177. }
  178. async function main() {
  179. // Criando a msg!
  180. var tttmsg = await msg.channel.send({
  181. embed: {
  182. 'title': `Jogo da Velha entre: \`${msg.author.username}\` e \`${msg.mentions.users.first().username}\``,
  183. 'description': organizar(),
  184. 'footer': {
  185. 'text': `vez do user ${x.username}`
  186. },
  187. 'color': 65535
  188. }
  189. })
  190.  
  191. // Colocando os reacts
  192. for (var i = 0; i < tttreacs.length; i++) {
  193. await tttmsg.react(tttreacs[i]);
  194. }
  195. var titulo = `Jogo da velha entre ${msg.author.username} e ${msg.mentions.users.first().username}`
  196. var e1 = 0;
  197. var e2 = 0;
  198. var e3 = 0;
  199. var cancel = 0;
  200. 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]))
  201. coletor2.on('collect', r => {
  202. switch (r.emoji.name) {
  203. case tttreacs[0]:
  204. e1++
  205. if (r.users.array()[e1] !== jogador) {
  206.  
  207. r.remove(r.users.array()[e1])
  208. e1--
  209. return
  210. }
  211. verificar()
  212.  
  213. atualizar()
  214. casas[0] = letra
  215. vencedor()
  216. if (g !== '') {
  217. tttmsg.delete()
  218. return venceu()
  219. }
  220. if (e > 0) {
  221. tttmsg.delete()
  222. return empate()
  223. }
  224. for (var v = 0; v < r.users.size; v++) {
  225. r.remove(r.users.array()[v])
  226. }
  227. tttmsg.edit({
  228. embed: {
  229. 'title': titulo,
  230. 'description': `${organizar()}`,
  231. 'color': 65535,
  232. 'footer': {
  233. 'text': `Agora é o turno do ${proximo.username}`
  234. }
  235.  
  236. }
  237. })
  238. e1--
  239. break
  240.  
  241. case tttreacs[1]:
  242. e1++
  243. if (r.users.array()[e1] !== jogador) {
  244. r.remove(r.users.array()[e1])
  245.  
  246. e1--
  247. return
  248. }
  249. verificar()
  250. atualizar()
  251. casas[1] = letra
  252. vencedor()
  253. if (g !== '') {
  254. tttmsg.delete()
  255. return venceu()
  256. }
  257. if (e > 0) {
  258. tttmsg.delete()
  259. return empate()
  260. }
  261. for (var v2 = 0; v2 < r.users.size; v2++) {
  262. r.remove(r.users.array()[v2])
  263. }
  264. tttmsg.edit({
  265. embed: {
  266. 'title': titulo,
  267. 'description': `${organizar()}`,
  268. 'color': 65535,
  269. 'footer': {
  270. 'text': `Agora é o turno do ${proximo.username}`
  271. }
  272.  
  273. }
  274. })
  275. e1--
  276. break
  277.  
  278. case tttreacs[2]:
  279. e1++
  280.  
  281. if (r.users.array()[e1] !== jogador) {
  282. r.remove(r.users.array()[e1])
  283.  
  284. e1--
  285. return
  286. }
  287. verificar()
  288.  
  289. atualizar()
  290. casas[2] = letra
  291. vencedor()
  292. if (g !== '') {
  293. tttmsg.delete()
  294. return venceu()
  295. }
  296. if (e > 0) {
  297. tttmsg.delete()
  298. return empate()
  299. }
  300. for (var v3 = 0; v3 < r.users.size; v3++) {
  301. r.remove(r.users.array()[v3])
  302. }
  303. tttmsg.edit({
  304. embed: {
  305. 'title': titulo,
  306. 'description': `${organizar()}`,
  307. 'color': 65535,
  308. 'footer': {
  309. 'text': `Agora é o turno do ${proximo.username}`
  310. }
  311.  
  312. }
  313. })
  314. e1--
  315. break
  316.  
  317. case tttreacs[3]:
  318.  
  319. e2++
  320.  
  321. if (r.users.array()[e2] !== jogador) {
  322. r.remove(r.users.array()[e2])
  323.  
  324. e2--
  325. return
  326. }
  327. verificar()
  328. atualizar()
  329. casas[3] = letra
  330. vencedor()
  331. if (g !== '') {
  332. tttmsg.delete()
  333. return venceu()
  334. }
  335. if (e > 0) {
  336. tttmsg.delete()
  337. return empate()
  338. }
  339. for (var v4 = 0; v4 < r.users.size; v4++) {
  340. r.remove(r.users.array()[v4])
  341. }
  342. tttmsg.edit({
  343. embed: {
  344. 'title': titulo,
  345. 'description': `${organizar()}`,
  346. 'color': 65535,
  347. 'footer': {
  348. 'text': `Agora é o turno do ${proximo.username}`
  349. }
  350.  
  351. }
  352. })
  353. e2--
  354. break
  355.  
  356. case tttreacs[4]:
  357.  
  358.  
  359. e2++
  360.  
  361. if (r.users.array()[e2] !== jogador) {
  362. r.remove(r.users.array()[e2])
  363.  
  364.  
  365. e2--
  366. return
  367. }
  368. verificar()
  369.  
  370. atualizar()
  371. casas[4] = letra
  372. vencedor()
  373. if (g !== '') {
  374. tttmsg.delete()
  375. return venceu()
  376. }
  377. if (e > 0) {
  378. tttmsg.delete()
  379. return empate()
  380. }
  381. for (var v5 = 0; v5 < r.users.size; v5++) {
  382. r.remove(r.users.array()[v5])
  383. }
  384. tttmsg.edit({
  385. embed: {
  386. 'title': titulo,
  387. 'description': `${organizar()}`,
  388. 'color': 65535,
  389. 'footer': {
  390. 'text': `Agora é o turno do ${proximo.username}`
  391. }
  392.  
  393. }
  394. })
  395. e2--
  396. break
  397.  
  398. case tttreacs[5]:
  399.  
  400. e2++
  401.  
  402.  
  403. if (r.users.array()[e2] !== jogador) {
  404. r.remove(r.users.array()[e2])
  405.  
  406. e2--
  407. return
  408. }
  409. verificar()
  410.  
  411. atualizar()
  412. casas[5] = letra
  413. vencedor()
  414. if (g !== '') {
  415. tttmsg.delete()
  416. return venceu()
  417. }
  418. if (e > 0) {
  419. tttmsg.delete()
  420. return empate()
  421. }
  422. for (var v6 = 0; v6 < r.users.size; v6++) {
  423. r.remove(r.users.array()[v6])
  424. }
  425. tttmsg.edit({
  426. embed: {
  427. 'title': titulo,
  428. 'description': `${organizar()}`,
  429. 'color': 65535,
  430. 'footer': {
  431. 'text': `Agora é o turno do ${proximo.username}`
  432. }
  433.  
  434. }
  435. })
  436. e2--
  437. break
  438.  
  439. case tttreacs[6]:
  440.  
  441.  
  442. e3++
  443.  
  444.  
  445. if (r.users.array()[e3] !== jogador) {
  446. r.remove(r.users.array()[e3])
  447.  
  448. e3--
  449. return
  450. }
  451. verificar()
  452.  
  453. atualizar()
  454. casas[6] = letra
  455. vencedor()
  456. if (g !== '') {
  457. tttmsg.delete()
  458. return venceu()
  459. }
  460. if (e > 0) {
  461. tttmsg.delete()
  462. return empate()
  463. }
  464. for (var v7 = 0; v7 < r.users.size; v7++) {
  465. r.remove(r.users.array()[v7])
  466. }
  467. tttmsg.edit({
  468. embed: {
  469. 'title': titulo,
  470. 'description': `${organizar()}`,
  471. 'color': 65535,
  472. 'footer': {
  473. 'text': `Agora é o turno do ${proximo.username}`
  474. }
  475.  
  476. }
  477. })
  478. e3--
  479. break
  480.  
  481. case tttreacs[7]:
  482.  
  483. e3++
  484.  
  485. if (r.users.array()[e3] !== jogador) {
  486. r.remove(r.users.array()[e3])
  487.  
  488. e3--
  489. return
  490. }
  491. verificar()
  492. atualizar()
  493. casas[7] = letra
  494. vencedor()
  495. if (g !== '') {
  496. tttmsg.delete()
  497. return venceu()
  498. }
  499. if (e > 0) {
  500. tttmsg.delete()
  501. return empate()
  502. }
  503. for (var v8 = 0; v8 < r.users.size; v8++) {
  504. r.remove(r.users.array()[v8])
  505. }
  506. tttmsg.edit({
  507. embed: {
  508. 'title': titulo,
  509. 'description': `${organizar()}`,
  510. 'color': 65535,
  511. 'footer': {
  512. 'text': `Agora é o turno do ${proximo.username}`
  513. }
  514.  
  515. }
  516. })
  517. e3--
  518. break
  519.  
  520. case tttreacs[8]:
  521.  
  522. e3++
  523.  
  524. if (r.users.array()[e3] !== jogador) {
  525. r.remove(r.users.array()[e3])
  526.  
  527. e3--
  528. return
  529. }
  530. verificar()
  531.  
  532. atualizar()
  533. casas[8] = letra
  534. vencedor()
  535. if (g !== '') {
  536. tttmsg.delete()
  537. return venceu()
  538. }
  539. if (e > 0) {
  540. tttmsg.delete()
  541. return empate()
  542. }
  543. for (var v9 = 0; v9 < r.users.size; v9++) {
  544. r.remove(r.users.array()[v9])
  545. }
  546. tttmsg.edit({
  547. embed: {
  548. 'title': titulo,
  549. 'description': `${organizar()}`,
  550. 'color': 65535,
  551. 'footer': {
  552. 'text': `Agora é o turno do ${proximo.username}`
  553. }
  554.  
  555. }
  556. })
  557.  
  558. e3--
  559. break
  560. case tttreacs[9]:
  561. cancel++
  562. if (r.users.array()[cancel] !== msg.author) {
  563. if (r.users.array()[cancel] !== msg.mentions.users.first()) {
  564. cancel--
  565. r.remove(r.users.array()[cancel])
  566. return
  567. }
  568. }
  569.  
  570. if (r.users.array()[cancel] == msg.author) {
  571. ganhador += msg.mentions.users.first().username
  572. ganhadorft += msg.mentions.users.first().avatarURL
  573. } else if (r.users.array()[cancel] == msg.mentions.users.first()) {
  574. ganhador += msg.author.username
  575. ganhadorft += msg.author.avatarURL
  576. }
  577.  
  578. tttmsg.delete()
  579. cancelou()
  580.  
  581. cancel--
  582. break
  583.  
  584.  
  585.  
  586.  
  587. }
  588. })
  589. }
  590.  
  591. function verificar() {
  592.  
  593. if (turno === 0) {
  594. turno++
  595. proximo = o
  596. jogador = mencionado
  597.  
  598. } else {
  599. turno--
  600. proximo = x
  601. jogador = msg.author
  602.  
  603. }
  604.  
  605. }
  606.  
  607. function atualizar() {
  608. if (letran == 0) {
  609. letran++
  610. letra = 'X'
  611. } else if (letran == 1) {
  612. letran--
  613. letra = 'O'
  614. }
  615. }
  616.  
  617. function organizar() {
  618. var organizado = [
  619. '```js',
  620. '+---+---+---+',
  621. `| ${casas[0]} | ${casas[1]} | ${casas[2]} |`,
  622. '+---+---+---+',
  623. `| ${casas[3]} | ${casas[4]} | ${casas[5]} |`,
  624. '+---+---+---+',
  625. `| ${casas[6]} | ${casas[7]} | ${casas[8]} |`,
  626. '+---+---+---+',
  627. '```'
  628. ]
  629. organizado = organizado.join('\n')
  630.  
  631. return organizado
  632.  
  633. };
  634.  
  635. function vencedor() {
  636.  
  637. if (casas[0] == 'X' && casas[1] == 'X' && casas[2] == 'X') {
  638. g = msg.author
  639. return
  640. } else if (casas[0] == 'O' && casas[1] == 'O' && casas[2] == 'O') {
  641. g = msg.mentions.users.first()
  642. return
  643. } else if (casas[3] == 'X' && casas[4] == 'X' && casas[5] == 'X') {
  644. g = msg.author
  645. return
  646. } else if (casas[3] == 'O' && casas[4] == 'O' && casas[5] == 'O') {
  647. g = msg.mentions.users.first()
  648. return
  649. }
  650. if (casas[6] == 'X' && casas[7] == 'X' && casas[8] == 'X') {
  651. g = msg.author
  652. return
  653. } else if (casas[6] == 'O' && casas[7] == 'O' && casas[8] == 'O') {
  654. g = msg.mentions.users.first()
  655. return
  656. } else if (casas[0] == 'X' && casas[3] == 'X' && casas[6] == 'X') {
  657. g = msg.author
  658. return
  659. } else if (casas[0] == 'O' && casas[3] == 'O' && casas[6] == 'O') {
  660. g = msg.mentions.users.first()
  661. return
  662. } else if (casas[1] == 'X' && casas[4] == 'X' && casas[7] == 'X') {
  663. g = msg.author
  664. return
  665. } else if (casas[1] == 'O' && casas[4] == 'O' && casas[7] == 'O') {
  666. g = msg.mentions.users.first()
  667. return
  668. } else if (casas[2] == 'X' && casas[5] == 'X' && casas[8] == 'X') {
  669. g = msg.author
  670. return
  671. } else if (casas[2] == 'O' && casas[5] == 'O' && casas[8] == 'O') {
  672. g = msg.mentions.users.first()
  673. return
  674. } else if (casas[0] == 'X' && casas[4] == 'X' && casas[8] == 'X') {
  675. g = msg.author
  676. return
  677. } else if (casas[6] == 'O' && casas[4] == 'O' && casas[2] == 'O') {
  678. g = msg.mentions.users.first()
  679. return
  680. } 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') {
  681.  
  682. e++
  683. return
  684. } else {
  685. return
  686. }
  687.  
  688. };
  689. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement