Как исключить префикс `+` из вложения

Я сделал предложение для моего разлада, где пользователи могут сказать +suggest(предложение), и он будет автоматически отправлять сообщения на другой канал.

Мне нужна помощь:

  • Получение «Рекомендуемые пользователем USER» в заголовке, а не на отдельных строках.
  • Когда он высказывает предположение, я не хочу, чтобы он говорил +suggestв начале.

Вот мой код для внедрения:

   module.exports.run = async (bot, message, args) => {
   let suggestembed = new Discord.RichEmbed()
  .addField("Suggestion made by:", message.author)
  .addField("Suggestion:", message.content)
  .setTimestamp()

Вот картина того, как она выглядит:

https://gyazo.com/48e5c34fa463615180143403e52d5f49

javascript,discord,discord.js,

1

Ответов: 2


1 принят

1

RichEmbed.addField()принимает два параметра: название и содержание. С помощью .addField("Suggestion made by:", message.author)вы устанавливаете заголовок "Suggestion made by:"и контент message.author. Чтобы поместить все в одну строку, вы можете сделать. .addField("Suggestion made by:" + message.author, '')Это устанавливает заголовок как то, что вы хотите, и сохраняйте содержимое пустым. Вы также можете поместить это в параметр содержимого, но обратите внимание, что заголовок не может быть пустым. ЕСЛИ это так, он вернет ошибку.

Решение:

module.exports.run = async (bot, message, args) => {
let suggestembed = new Discord.RichEmbed()
  .addField("Suggestion made by:" + message.author, '')
  .addField("Suggestion:", message.content)
  .setTimestamp();

ИЛИ

module.exports.run = async (bot, message, args) => {
let suggestembed = new Discord.RichEmbed()
  .addField("MyTitle", "Suggestion made by" + message.author)
  .addField("Suggestion:", message.content)
  .setTimestamp();

2

Вы можете удалить префикс, используя несколько методов. Вот несколько.

  • Разделите строку с помощью префикса: message.content.split("+suggest")[1]
  • Отрежьте префикс, используя str.substr():message.content.substr("+suggest".length)
  • Отрежьте префикс, используя str.substring():message.content.substring("+suggest".length)
  • Отрежьте префикс, используя str.slice():message.content.slice("+suggest".length)

Надеюсь, это помогло!


0

Чтобы справиться с проблемой появления + предложить, вы можете отделить сообщение от его префикса.

const args = message.content.slice(1).trim().split(/ +/g);
let suggestion = args.slice(0).join(" ");

Вместо использования полей вы можете просто указать его в описании. Как это:

let suggestembed = new Discord.RichEmbed()
.setDescription(`**Suggestion made by:** ${message.author}
**Suggestion:** ${suggestion}`)
.setTimestamp()

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

JavaScript, диссонанс, discord.js,
Похожие вопросы