出于某种原因,我使用 Node.js 和 Discord.js 编写的机器人在成员加入时不会为其分配角色。有人可以帮忙吗?
bot.on("guildMemberAdd", function (member) {
member.guild.channels
.find("name", "general")
.send(
member.toString() +
" Welcome to the server. All your base are belong to us."
);
member.add(member.guild.roles.find("name", "Honorable Member"));
});
我尝试了 member.add
和 member.addRole
,但我所做的一切似乎都没有任何效果。我什至没有收到任何类型的错误消息,代码似乎没有执行。
答案 0 :(得分:-1)
在当前目录(与您的 bot.js 文件相同的文件夹)中打开命令提示符。
然后在该类型 npm list discord.js
中,它将返回类似于以下内容的内容:
它将以 11 或 12 开头,这就是您如何判断您的 discord.js 是版本 11 还是版本 12。
由于您可能使用的是 discord.js v11,我将举例说明如何修复它:
member.addRole(member.guild.roles.find("name", "Honorable Member").id);
您需要使用现代技术来实现这一点。
const roleToAdd = member.guild.roles.cache.find(r => r.name === "Honorable Member");
member.roles.add(roleToAdd);