当前位置: 首页 > 知识库问答 >
问题:

不一致JS反应角色

林星阑
2023-03-14

我不知道为什么我的反应角色代码不起作用。如果有人能帮助我,我将不胜感激!

js prettyprint-override">client.on('messageReactionAdd', async (reaction, person) => {
    if (reaction.partial) {
        try {
            await reaction.fetch();
        } catch (error) {
            console.error('Something went wrong when fetching the message: ', error);
            return;
        };
    };

    if (reaction.emoji.name == ':tools:') {
        if (reaction.message.id === '769855387394375681')
        var server = client.guilds.cache.get('769100711593771038');
        let personMember = server.members.cache.get(person);
        const devRole = server.roles.cache.get('769428024609079319')
        personMember.roles.add(devRole);
    };

});

client.on('message', message => {
    return; //For now, gotta code more stuff later
});

message函数用于缓存消息,以便bot可以检测对该消息的反应,如果确实需要的话,Idk。

也没有错误,只是没有给我角色。

共有1个答案

穆修杰
2023-03-14

您需要在if语句中指定表情符号ID,而不仅仅是:tools:。您可以通过在Discord中键入表情符号,然后在其前面加反斜杠来实现。发送此消息,您将获得类似

编辑:您需要执行if(reaction.emoji.id===='IDHERE')

 类似资料:
  • 我正在试着用我的机器人做右舷代码,其他一切都很好。但是我正在努力让机器人忽略实际消息作者的反应。 这是我当前的代码: 它返回以下错误:

  • 我对javascript和discord非常陌生。js,有人能帮我,告诉我如何设置做出反应的用户的角色吗?我自己做这件事有困难。

  • 我一直试图让我的机器人回复用户时,他们的反应机器人表情,但没有运气,我希望有人能帮助我在这里,我只是一个初学者与不和谐。js。 这是我的代码,我只是需要帮助,当用户做出反应时,机器人会发送一条消息回来。

  • 我正在制作一个机器人,有一个自动角色系统,使用反应 以下是我当前相关代码的简化版本: 我只想知道如何使用对象向用户添加角色 我尝试了

  • 我希望将反应添加到消息中的机器人,而不是我。有人能帮我吗?

  • 我开始用11.5discord.js写一个不和谐机器人。 我不想使用像,因为每个人都需要几天的时间才能添加自己的反应,而且它位于一个小的通道中,总是只通过几条消息来清理。 我正在通过提取一条特定的消息并希望从中读取现有的反应来获取旧消息。但我一直在阅读信息中的反应。 差不多 返回一个空数组。 文档提到不可能监听旧的消息反应,只有在12. x中可以。但是我没有使用监听器,所以我想这个限制在这种情况下