我一直在尝试编写一个机器人,当他们在特定频道中发送消息时,它会为一个人添加一个角色,但我似乎无法让它工作。 这是代码,请告诉我哪里出错了。提前致谢。
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");
}
});
答案 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
稍微缩短代码。