скажем, сообщение отправляет мне только первое слово фразы, JavaScript — Discord.js

#javascript #arrays #discord #discord.js

#javascript #массивы #Discord #discord.js

Вопрос:

Это код:

 const args = msg.content.trim().split(/  /);
const cmd = args.shift().toLowerCase();

if (cmd === 'dm') {
  (await client.users.fetch(args[0]))
  .send(args[1])
    .catch(() => {
      console.log('Error while sending message.')
    })
}
 

что я хочу: dm <идентификатор пользователя>

что я делаю: dm <my_id> тестовое тестирование тест 123 что я получаю: тест

может кто-нибудь объяснить мне, как это исправить? бот отправляет только первое слово моего сообщения: / любая помощь приветствуется!

Ответ №1:

Это должно сделать работу.

 const args = msg.content.trim().split(" ");
const cmd = args.shift().toLowerCase();

if (cmd === 'dm') {
  // Clone the args array in case you need it later
  const argsClone = args.slice()
  // Fetch user while removing their id from the list
  const user = await client.users.fetch(argsClone.shift())
  // Send the remaining of the list as a DM.
  user.send(argsClone.join(" "))
    .catch(() => {
      console.log('Error while sending message.')
    })
}
 

Комментарии:

1. Рад видеть, что я помог. Не могли бы вы, пожалуйста, проверить ответ как проверенный, если он сработал, и проголосовать за него, если он вам нравится? Спасибо.