【发布时间】:2020-12-18 22:22:28
【问题描述】:
client.on("guildMemberUpdate", function (guild, oldMember, newMember) {
//declare changes
var Changes = {
unknown: 0,
addedRole: 1,
removedRole: 2,
username: 3,
nickname: 4,
avatar: 5,
};
var change = Changes.unknown;
//check if roles were removed
var removedRole = "";
oldMember.roles.every(function (value) {
if (newMember.roles.cache.find("id", value.id) == null) {
change = Changes.removedRole;
removedRole = value.name;
}
});
我正在尝试让机器人跟踪添加/删除用户的角色。但是每次我启用并更改用户的角色时,我都会收到此错误。如果有人知道问题是什么,请帮忙。
Discord.js:v12.3.1
npm:v6.14.8
【问题讨论】:
-
首先要弄清楚
oldMember.roles到底是什么。 -
另外,
Array#every似乎不是一个不错的选择。您不是在检查每个元素是否满足某个条件,您只是在遍历它并找到某个角色。也许您想使用Array#find或Array#filter? -
Discord.js: v12.3.1
标签: javascript node.js discord.js typeerror