Переменная для функции переключения и включения / выключения - PullRequest
0 голосов
/ 09 июня 2018

Как и в моем предыдущем вопросе, я делал функцию тролля, сейчас пытаюсь выяснить, как сделать так, чтобы она работала так, чтобы моему другу время от времени не приходилось ее запрещать.

Команда переключения работает, но на самом деле она не работает внутри.

ПРИМЕЧАНИЕ. У меня есть две учетные записи, чтобы проверить ее на другой.

Часть, в которой онаиспользует тумблер внизу

const Discord = require("discord.js");
const client = new Discord.Client;
var enabled = true
client.on("message", message => {
  if(message.author.bot) return;
  
  
  let messageArray = message.content.split(" ")
  let command = messageArray[0]
  let args = messageArray.slice(1)
  if(!command.startsWith(prefix)) return;
  
  if (command === `${prefix}cleanup`) {
    if (message.author.id != 234430480672358400) {
      message.delete()
      let embed = new Discord.RichEmbed()
        .setColor("#e20909")
        .setImage("https://cdn.discordapp.com/attachments/358640529376018432/451111825266835476/unknown.png")
        .setTitle(`${message.author.tag}, wow ur mom bad for you trying to use this unauthorized >:(`);
      message.channel.sendEmbed(embed) 
        .then(newMessage => newMessage.delete(5000));
    return};
    message.delete();
    message.channel.send("https://cdn.discordapp.com/attachments/330441704073330688/453693702687162369/yeet.png");
  };
  
  if (command===`${prefix}toggle_win`) {
    if (message.author.id == 234430480672358400) {
      if(enabled === true) {
        enabled = false
        let embed = new Discord.RichEmbed()
          .setColor("#18dd50")
         .setImage("https://cdn.discordapp.com/attachments/358640529376018432/451109668002070533/Capturedab.PNG")
          .setTitle(`${message.author.tag} success, classifier module is disabled until you repeat the command!`);
          message.channel.sendEmbed(embed) 
              
      }else{
        enabled = true
        let embed = new Discord.RichEmbed()
          .setColor("#18dd50")
         .setImage("https://cdn.discordapp.com/attachments/358640529376018432/451109668002070533/Capturedab.PNG")
          .setTitle(`${message.author.tag} success, classifier module is enabled until you repeat the command!`);
          message.channel.sendEmbed(embed) 
              
      }
      
      
    }else{
    let embed = new Discord.RichEmbed()
    .setColor("#e20909")
    .setImage("https://cdn.discordapp.com/attachments/358640529376018432/451101447405174785/Capture.PNG")
    .setTitle(`${message.author.tag}, ur iq is now -666 try again to have -1337`);
    message.channel.sendEmbed(embed) 
      .then(newMessage => newMessage.delete(5000));
    }
  }
  
  if (message.channel.id != 425328056777834506) return;
  if (enabled === true && message.author.id != 234430480672358400 && Math.floor(Math.random() * Math.floor(4))=== 3 && message.attachments.size > 0) {
    message.channel.send("Detected carried win, will now initiate\nhttps://cdn.discordapp.com/attachments/330441704073330688/453693702687162369/yeet.png");
  } else if (enabled === true && message.content.search("!cleanup")===-1 && message.author.id != 234430480672358400 && message.attachments.size === 0) {
    message.channel.send("send me a poto of ur win :thonk:");
  };
});

1 Ответ

0 голосов
/ 10 июня 2018

Команда toggle на самом деле работает, попробуйте распечатать переменную где-нибудь.

В действительности может быть проблема с вашей структурой кода, if(!command.startsWith(prefix)) return; около начала обработчика выйдет из функции, если появится сообщениене начинаться с префикса.
Это означает, что данный код ...

  if (message.channel.id != 425328056777834506) return;
  if (enabled === true && message.author.id != 234430480672358400 && Math.floor(Math.random() * Math.floor(4))=== 3 && message.attachments.size > 0) {
    message.channel.send("Detected carried win, will now initiate\nhttps://cdn.discordapp.com/attachments/330441704073330688/453693702687162369/yeet.png");
  } else if (enabled === true && message.content.search("!cleanup")===-1 && message.author.id != 234430480672358400 && message.attachments.size === 0) {
    message.channel.send("send me a poto of ur win :thonk:");
  };

не будет выполнен, если сообщение не начинается с требуемого префикса.

Вы можетевместо этого попробуйте использовать состояние else, что делает его ...

  if(!command.startsWith(prefix)) 
  {
    //More stuff or...
    return;
  } else {
    if (message.channel.id != 425328056777834506) return;
    if (enabled === true && message.author.id != 234430480672358400 && Math.floor(Math.random() * Math.floor(4))=== 3 && message.attachments.size > 0) {
      message.channel.send("Detected carried win, will now initiate\nhttps://cdn.discordapp.com/attachments/330441704073330688/453693702687162369/yeet.png");
    } else if (enabled === true && message.content.search("!cleanup")===-1 && message.author.id != 234430480672358400 && message.attachments.size === 0) {
      message.channel.send("send me a poto of ur win :thonk:");
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...