[英]Discord.js not working as intended on node
我試圖在發布此內容時捕獲錯誤位,並且右括號位於 catch 命令后面的句點后面,我得到紅線和預期的表達式,有幫助嗎?
client.on('message', message => {
let args = message.content.substring(PREFIX.length).split(' ');
switch (args[0]) {
case 'warn':
if(!message.member.hasPermission('ADMINISTRATOR'))return message.reply('You dont have the right position to warn...')
if (!args[1]) message.channel.send('You need to specify a person!')
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
message.channel.send(`${member} Has been warned, Contact the moderator for reasoning and apeal...`);
}).catch((err) => {
return message.channel.send('An error occured...')
})
;
希望這能回答你的問題
try
{
if (user) {
const member = message.guild.member(user);
message.channel.send(`${member} Has been warned, Contact the moderator for reasoning and apeal...`);
}
}
catch
{
return message.channel.send('An error occured...')
}
.catch()
用於承諾,在您的示例中,您嘗試錯誤處理 if 語句(不返回承諾)但是message.channel.send()
確實返回承諾。 嘗試這個
message.channel.send(...).catch(err => {
if (err) console.error(err)
// Your code
})
我認為這應該有效:
client.on('message', message => {
let args = message.content.substring(PREFIX.length).split(' ');
switch (args[0]) {
case 'warn':
if (!message.member.hasPermission('ADMINISTRATOR')) return message.reply('You dont have the right position to warn...')
if (!args[1]) message.channel.send('You need to specify a person!')
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
message.channel.send(`${member} Has been warned, Contact the moderator for reasoning and apeal...`);
}
}
}).catch((err) => {
return message.channel.send('An error occured...')
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.