Advertisement
Neable

Untitled

Aug 16th, 2019
518
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.43 KB | None | 0 0
  1. const fs = require('fs');
  2. AnkiStudy = new Map();
  3. module.exports.run = (Brie, message, args) => {
  4. let cards;
  5. if (fs.existsSync(`c:/Brie/fs/${message.author.id}.txt`)) {
  6. cards = fs.readFileSync(`c:/Brie/fs/${message.author.id}.txt`, "utf8");
  7. } else {
  8. message.reply(`Você não tem conteúdo para estudar.`);
  9. }
  10. cardsSplited = cards.split("&1");
  11.  
  12. userAnki = AnkiStudy.get(message.author.id);
  13. if (userAnki === undefined) {
  14. userCards = new Map();
  15. cardsSplited.forEach(card => {
  16. userCards.set(card, "Ainda não estudado");
  17. });
  18.  
  19. AnkiStudy.set(message.author.id, userCards);
  20.  
  21. message.channel.send(`Adicionado **${cardsSplited.length}** novos cards para o seu estudo!`);
  22. } else {
  23. cardsChecked = [];
  24. getCard();
  25.  
  26. function getCard() {
  27. RNG = Math.floor(Math.random() * cardsSplited.length);
  28. console.log(cardsChecked)
  29. cardToStudy = userAnki.get(cardsSplited[RNG])
  30. if (cardsChecked.includes(cardToStudy)) getCard();
  31. if (cardToStudy !== "Ainda não estudado") {
  32. cardsChecked.push(cardsSplited[RNG]);
  33. getCard();
  34. } else if (cardsChecked.length === cardsSplited.length) {
  35. return message.reply(`Você já estudou todos os cards! Adicione mais e tente novamente.`);
  36. } else {
  37. const Discord = require("discord.js");
  38. theCard = cardsSplited[RNG].split("&0");
  39. Frente = theCard[0];
  40. Verso = theCard[1];
  41. const embedCard = new Discord.RichEmbed()
  42. .setTitle(`Card número: ${RNG}`)
  43. .setColor("RANDOM")
  44. .setDescription(`:zap: Frente: ${Frente}`)
  45. message.channel.send(embedCard).then(msg => {
  46. msg.react("▶");
  47. const emojiFilter = ["♥"];
  48. const filter = (reaction, user) => !emojiFilter.includes(reaction.emoji.name) && user.id === message.author.id;
  49. collector = msg.createReactionCollector(filter, { max: 1, time: 180000 });
  50. collector.on("collect", collected => {
  51. if (collected.emoji.name === "▶") {
  52. embedCard.setDescription(`:zap: Verso: ${Verso}\n\n✅ = Acertou\n❌ = Errou`);
  53. msg.edit(embedCard).then(async msgVerso => {
  54. await msgVerso.clearReactions();
  55. await msgVerso.react("✅");
  56. await msgVerso.react("❌");
  57. const emojiFilterVerso = ["♥"]
  58. const filterVerso = (reactionVerso, userVerso) => !emojiFilterVerso.includes(reactionVerso.emoji.name) && userVerso.id === message.author.id;
  59. collectorVerso = msgVerso.createReactionCollector(filterVerso, { max: 1, time: 180000 });
  60. collectorVerso.on("collect", collectedVerso => {
  61. switch (collectedVerso.emoji.name) {
  62. case "✅": respostaCorreta(cardsSplited[RNG]);
  63. break;
  64. case "❌": respostaErrada(cardsSplited[RNG]);
  65. break;
  66. default: message.reply(`O que está tentando fazer? :thinking:`);
  67. break;
  68. }
  69. });
  70. });
  71.  
  72. function respostaCorreta(card) {
  73. console.log(userAnki.set(card, "Estudou"));
  74. console.log(`${card} => acertou`)
  75. }
  76.  
  77. function respostaErrada(card) {
  78. console.log(userAnki.set(card, "Ainda não estudado"));
  79. console.log(`${card} => errou`)
  80. }
  81.  
  82. } else {
  83. message.reply(`wut..?`);
  84. }
  85. });
  86. });
  87. };
  88. };
  89. };
  90. };
  91. module.exports.help = {
  92. name: "anki"
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement