如何在公会 discordjs V12 中从用户中删除角色?

时间:2021-03-01 09:48:47

标签: javascript node.js discord discord.js

我的 Discord 服务器上有一个经济系统,玩家可以购买 30 天的 VIP。数据保存在firestore云数据库中。机器人每 4 小时检查一次是否有人​​超过了他的 VIP,它应该删除它,但它不起作用。

控制台说:Cannot read property 'roles' of undefined.

这是代码中不起作用的部分:

let server = bot.guilds.cache.get("472822894649540608");
let player = server.members.cache.get('452773419105255435');
player.roles.remove('476112578280685568');

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您不应该假设该成员在缓存中。在这种情况下,它不是。相反,始终fetch()成员:

let server = bot.guilds.cache.get("472822894649540608");
let player = await server.members.fetch('452773419105255435');
player.roles.remove('476112578280685568');

P.S.:我认为在 v11 中曾经可以工作,但在 v12 中不再有效。