javascript - 如何在公会 discordjs V12 中从用户中删除角色?
问题描述
我的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');
谢谢您的帮助
解决方案
您不应该假设该成员在缓存中。在这种情况下,它不是。相反,始终fetch()
是成员:
let server = bot.guilds.cache.get("472822894649540608");
let player = await server.members.fetch('452773419105255435');
player.roles.remove('476112578280685568');
PS:我认为在 v11 中可以使用,但在 v12 中不再适用。
推荐阅读
- android - ProjectConfigurationException 如何解决这些?
- python - 将命令行参数传递给 python 脚本
- powershell - Script runs in ISE but not in Powershell
- r - 清理调查数据 - 每列中有一对相似的问题
- r - Error encountered when reading html code for a website in R
- matlab - Matlab在同一张图上绘制具有不同开始和结束时间戳的多个时间序列
- python-3.x - How can i get the links under a specific class
- wordpress - 屏蔽所有子页面对父页面的请求
- c# - Unity3D C# code to teleport
- python - *args in function with Python