我希望机器人接收/dm
命令,然后将DM发送给特定的人。目标是targetid
,而DM内容是letter
。该命令本身有效-捕获错误无效。如果我使targetid
类似于267
或任何其他不可能的targetid
,则不会将错误输出为新消息。
try {
client.users.fetch(targetid).then((user) => {user.send(letter);})
message.react("✅")
} catch (err) {
message.channel.send("❗ Something went wrong! Refer to the error log below.\n\n ``" + err + "``\n(Bot administrator contacted: <@...>)") //Removed my ID
message.react("❌")
}
最佳答案
我建议使用Promise#catch()
而不是正常的try/catch,因为这是fetch()
返回的内容:
client.users
.fetch(targetid)
.then(user => {
user.send(letter)
message.react('✅')
})
.catch(err => {
message.channel.send('❗ Something went wrong! Refer to the error log below.\n\n ``' + err + '``\n(Bot administrator contacted: <@...>)') //Removed my ID
message.react('❌')
})
您可以阅读有关它的更多信息here