Discord. JS | Как я могу создать аргумент, который находится конкретно под [] - PullRequest
0 голосов
/ 06 августа 2020

Я на самом деле пытаюсь создать команду объявления в моем боте Discord, но я хочу, чтобы у него был аргумент под [], который был бы именем объявления (например: !announce [announce name] announce content), но я действительно не знаю, как для этого я попытался выполнить поиск на многих сайтах, но ни один из них не объяснил мой вопрос.

Вот код, если необходимо:

module.exports.run = async (bot, message, args) => {

  let canal = message.mentions.channels.first()

  if(!canal) {
    return message.channel.send("Por favor, ponha um canal para que eu possa anunciar.")
  } else {
    const canal = args.shift().slice(2,-1);
    const mensagem = args.join(" ");

    bot.channels.cache.get(canal).send(`:scroll: **| Anúncio Oficial**\n\n${mensagem}\n\n||@everyone|| - ${message.author}/${message.author.username}`);
  }
}

Заранее спасибо.

1 Ответ

0 голосов
/ 06 августа 2020

Я не совсем уверен, что в ваших «аргументах», поэтому я просто подойду к этому, используя регулярное выражение и message.content. Вот как вы можете извлечь имя объявления и содержимое объявления из входной строки:

let reg = /!(.*) \[(.*)\] (.*)/g;
let result = reg.exec(message.content);
if(result === null) return console.log("Incorrect format");
let announceName = result[2];
let announceContent = result[3];

// if message.content = "!announce [announce name] announce content"
// then announceName = "announce name" and announceContent = "announce content"

Вы можете вставить регулярное выражение в https://regex101.com/, чтобы проверить его.

...