IDKaName Ответов: 1

Как мне превратиться из дублированных строк в одну?


Эй, так что я хочу изменить это множество дублированных строк в одну. я имею в виду, что хочу сделать файл блокнота и заполнить там случайные числа в строке. Они будут делать только один раз $number, а затем бот будет pm'ING им случайное число каждый раз, когда они делают $number из блокнота.

Например, я хочу сделать вот что:
client.on('message' , message => {
if (message.content === '$number') {
         let embed = new Discord.RichEmbed()

      .setThumbnail(message.author.avatarURL)    
      .addField("**Here is You Random Number**","Number")
.setColor('RANDOM')
  message.author.sendEmbed(embed);
    }
});


Что я уже пробовал:

client.on('message' , message => {
if (message.content === '$number-1') {
         let embed = new Discord.RichEmbed()

      .setThumbnail(message.author.avatarURL)    
      .addField("**Here is You Random Number**","Number")
.setColor('RANDOM')
  message.author.sendEmbed(embed);
    }
});
client.on('message' , message => {
if (message.content === '$number-2') {
         let embed = new Discord.RichEmbed()

      .setThumbnail(message.author.avatarURL)    
      .addField("**Here is You Random Number**","Number")
.setColor('RANDOM')
  message.author.sendEmbed(embed);
    }
});
client.on('message' , message => {
if (message.content === '$number-3') {
         let embed = new Discord.RichEmbed()

      .setThumbnail(message.author.avatarURL)    
      .addField("**Here is You Random Number**","Number")
.setColor('RANDOM')
  message.author.sendEmbed(embed);
    }
});

1 Ответов

Рейтинг:
0

Afzaal Ahmad Zeeshan

Хотя код и его связь с блокнотом(?) не имеют для меня никакого смысла, но я поверю вам на слово. На ваши вопросы,

Цитата:
множество дублированных строк в одну
Именно для этого используется функция в программировании. Вы напишете отдельную функцию, которая будет принимать параметры для внешних объектов и обрабатывать их.

Например взгляните на это,
// Pass the message object from the outside world
function sendEmbed(message) {
    // Everything inside can be built here--right?
    let embed = new Discord.RichEmbed()
                    .setThumbnail(message.author.avatarURL)    
                    .addField("**Here is You Random Number**","Number")
                    .setColor('RANDOM');

    // Using the message parameter, send it.
    message.author.sendEmbed(embed);
}
Теперь вы можете вызвать эту функцию внутри каждого из них if блоки.
// First of all, why multiple listeners when only you need to check for a condition? 
// Multiple listeners for a same event is helpful in case if you have separate
// processes, processing for different purposes. 
client.on('message' , message => {
    if (message.content === '$number-1') {
        sendEmbed(message);
    } else if (message.content === '$number-2') {  // or a simple if
        sendEmbed(message);
    } else if (message.content === '$number-3') {
        sendEmbed(message);
    }
});
Убедитесь, что вы объявили функцию вне любой области видимости, чтобы не столкнуться с ней sendEmbed не определен ошибки.

Наконец, эта ваша часть сильно зависит от вашей реализации,
if (message.content === '$number') {
Где это происходит $number откуда он взялся? Это в основном просто обычная строка в чистом JavaScript—если только где—то она не будет обработана до чего-то другого-в JavaScript вы можете интерполировать с помощью `$number`—обратите внимание на знак Тильды вместо одинарных кавычек.

Шаблонные литералы (строки шаблонов) - JavaScript | MDN[^]


IDKaName

я имею в виду удалить число-1,число-2,число-3 и заменить для одной строки только $number, а не number-1 и т. д...

Я имею в виду, как это сделать с fs#writefile? Я хочу читать из блокнота, и он показывает, делают ли люди $number.