Если не поймали то отреагируете? - PullRequest
0 голосов
/ 03 августа 2020

Это мой код,

msg.author.send(helpembed)
  .catch(() =>{
    send(msg,":no_entry_sign: **Your DMs are closed! Open them so I can help you out!** :no_entry_sign:");
});
msg.react("✅");

, и мне было интересно, могу ли я как-то написать код, который бы сказал: Если нет улова (нет ошибок), реагируйте с помощью ✅. Как я мог это сделать?

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Это то, что делает метод .then(…, …) :

msg.author.send(helpembed).then(() => {
  msg.react("✅");
}, err => {
  send(msg,":no_entry_sign: **Your DMs are closed! Open them so I can help you out!** :no_entry_sign:");
});
0 голосов
/ 03 августа 2020

Вы можете использовать синтаксис try…catch, чтобы попытаться отправить сообщение, и, если ошибки нет, он также отправит реакцию.

try {
  msg.author.send(helpembed).then(() => {
    msg.react("✅");
  })
} catch (err) {
  send(msg,":no_entry_sign: **Your DMs are closed! Open them so I can help you out!** :no_entry_sign:");
}

Это выполнит код, и если он возникает ошибка, он выполнит перехват и остановит код, не отправляя msg.react.

...