当在频道中发送消息时,Discord 机器人会赋予一个人一个角色

时间:2021-02-14 06:19:16

标签: javascript node.js discord discord.js

我一直在尝试编写一个机器人,当他们在特定频道中发送消息时,它会为一个人添加一个角色,但我似乎无法让它工作。 这是代码,请告诉我哪里出错了。提前致谢。

client.on("message", (receivedMessage) => {
    receivedMessage.content = receivedMessage.content.toUpperCase();
    if (receivedMessage.content.includes("PASSWORD") && receivedMessage.channel.id === `channelId`) {
        client.guilds.cache.get("guildId").members.get(receivedMessage.author.id).addRole("roleId");
    }
});

1 个答案:

答案 0 :(得分:1)

GuildMemberManager 没有 members 属性。您必须访问成员的缓存。

GuildMember 没有 addRole 属性。您必须使用 GuildMemberRoleManager#add


client.on("message", (receivedMessage) => {
    receivedMessage.content = receivedMessage.content.toUpperCase();
    if (receivedMessage.content.includes("PASSWORD") && receivedMessage.channel.id === `channelId`) {
        client.guilds.cache.get("guildId").members.cache.get(receivedMessage.author.id).roles.add("roleId");
    }
});

提示:您可以通过使用 message.member 稍微缩短代码。