Bot必须添加角色并删除其他角色,但这不起作用

时间:2019-06-12 12:32:52

标签: discord.js

我有一个命令,添加一个角色后必须删除其他角色,但这只是删除。我知道,我需要通过删除角色来兑现承诺,但是我不知道该怎么做。

case '?':
    if(message.member.roles.has('0000000000000')) return msg.delete() && message.member.send(`nope ${b.name}!`);
    message.member.removeRoles([a,c,d]);
    message.member.addRole(b).catch(err => {
        console.log(err);
        return message.channel.send(`nope.`);
    });
    message.channel.send(`bb **${b.name}**!`).then(m => m.delete(3000));
    message.member.send(`bb ${b.name}!`);
    msg.delete()
    break;

它仅删除角色。添加角色后,必须删除角色。

1 个答案:

答案 0 :(得分:0)

看来您快到了。我看到catch()中的then()promises方法已附加到某些await上,但并没有出现在达到预期结果的位置。


(def fib-seq (lazy-cat [0 1] (map + (rest fib-seq) fib-seq)))

要保持代码整洁并避免较长的await回调链,可以使用关键字scope。在继续执行进一步的代码之前,它将等待执行承诺。

then()

try { await message.member.removeRoles([a, c, d]); await message.member.addRole(b); } catch(err) { // If any of the promises above console.error(err); // are rejected, the code will } // jump to here and log the error.

在某些情况下,附加then()方法更有意义。兑现承诺后,将执行then()中的回调。但是,请记住代码的asynchronous programming

then()

我绝对建议阅读JavaScript中的localhost:3000/get-cars