我正在执行“向所有用户授予标签”命令
但是我收到“缺少权限”错误。出现此错误时,我想跳过该过程。我怎么
这是我的代码
let member = message.guild.members.cache.array()
for(var i = 0 ; i < member.length ; i++) {
require("util").promisify(setTimeout)(1000);
member[i].setNickname(`${tag} ${member[i].user.username}`)
};
答案 0 :(得分:0)
只需添加权限检查
const promised = require("util").promisfy(setTimeout);
if(message.guild.me.hasPermission("MANAGE_NICKNAMES")){
for(var i = 0 ; i < member.length; i++)
require("util").promisify(setTimeout)(1000);
member[i].setNickname(`${tag} ${member[i].user.username}`)
};
}
不确定require("util").promisify(setTimeout)(1000)
是做什么的,您是否打算等待1秒?自您使用await或.then
此外,由于第一个参数是回调函数,而不是最后一个参数,因此可能有点功能失常
相关评论:https://stackoverflow.com/a/51796168/13429955
一种替代方法是:
setTimeout(() => member[i].setNickname(`${tag} ${member[i].user.username}`), 1000);