我正在给所有用户命令给标签

时间:2020-06-08 23:45:08

标签: javascript discord.js

我正在执行“向所有用户授予标签”命令

但是我收到“缺少权限”错误。出现此错误时,我想跳过该过程。我怎么

这是我的代码

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}`)

  };

1 个答案:

答案 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

以来,它不会等待1000毫秒

此外,由于第一个参数是回调函数,而不是最后一个参数,因此可能有点功能失常

相关评论:https://stackoverflow.com/a/51796168/13429955

一种替代方法是:

setTimeout(() => member[i].setNickname(`${tag} ${member[i].user.username}`), 1000);