问题描述
我对运行脚本有疑问。 我正在使用discord Bot Maker的JavaScript代码及其运行脚本。 如您所见,这是一个持久角色系统。 如果您离开不和谐的服务器,应该保留您的角色,如果返回,则将其交还给他们。 但是,一旦我升级到discord.js V12,我就得到了这个错误,并且不知道如何解决它。 有人有主意吗?
const roles = tempVars("roles");
const arr = roles.split(',');
const guild = client.guilds.cache.get(tempVars("serv_id"));
const mem = tempVars("mem");
if (!roles) console.error('Role list is undefined,cant add roles.');
(async () => {
for (var i = 0; i < arr.length; i++) {
let elm = arr[i];
if (elm !== "@everyone") {
elm = elm.replace('<@&','')
.replace('>','');
mem.addRole(elm)
.catch(console.error);
await require('util')
.promisify(setTimeout)(1000)
}
}
console.log(`Added all applicable roles to ${mem.user.tag}`);
Actions.callNextAction(cache);
})()
解决方法
在版本12中,<member>.addRole()
已替换为<member>.roles.add()
尝试将mem.addRole(elm)
更改为mem.roles.add(elm)