javascript - discord.js - 无法读取未定义的属性“角色”
问题描述
我想尝试修复此错误,但我不知道我如何使用代码:
const rainPerms = [
"MANAGE_ROLES",
"ADMINISTRATOR"
];
let place = 0;
const servers = ["111111111111111111", "222222222222222222"] //fake ID
const Guilds = client.guilds.cache.map(guild => guild.id);
const Server = Guilds
function changeColor() {
for (let index = 0; index < servers.length; ++index) {
let server = client.guilds.cache.get(servers[index]);
let role = server.roles.cache.find(r => r.name === 'Rainbow');
role.setColor(rainbow[place]).catch;
if (!rainPerms) {
}
continue;
}
}
if (place == (size - 1)) {
place = 0;
} else {
place++;
}
client.on('ready', () => {
setInterval(changeColor, 60000);
changeColor();
});
我的错误是:
let role = server.roles.cache.find(r => r.name === 'Rainbow');
^
TypeError: Cannot read property 'roles' of undefined
我已经搜索了所有内容,但找不到太多我能理解的内容,有人可以解释一下这里到底发生了什么吗?谢谢!
解决方案
如果您使用的是 v12/v13,我不建议使用角色缓存,而是使用异步函数。
获得公会:
let guild = await client.guilds.fetch('id')
并获得一个角色:
let role = await guild.roles.fetch('id')
推荐阅读
- reactjs - 创建始终在使用的 React App Server 端口,无论是什么端口
- python - 定义具有排他节点的不平衡优化问题的目标函数
- sql - 创建 SQL 查询以查找 2021 年和 2020 年的发票总和,并在 SQL 中计算 2021 年的增长百分比
- javascript - 为什么这个 const 只能在调用它的方法中使用?
- python - 如何根据窗口的位置计算按钮的位置
- html - 提取megalobiz歌词的美丽汤
- python - 如何为一个空列表设置一个值
- javascript - 如何从子元素中删除顶级或根类
- python - Django - 实例
- c# - 发出 POST 请求时如何获取带有扩展名的文件名?