我的意思是,我知道ID是对的,因为我直接从discord本身使用它(使用开发者选项,右击我的名字副本ID)。
当我使用一个应该为所有者或管理员的命令时,它说我没有权限:
/*jshint esversion: 6*/
const commando = require('discord.js-commando');
const bot = new commando.Client({
commandPrefix: '%',
owner: 'myid',
});
知道为什么它几乎无视这个?
答案 0 :(得分:0)
After
owner: 'myid',
there mustn´t be a comma.
So it must be owner: 'myid'
.
答案 1 :(得分:0)
如果代码中有client.something.something,请将其更改为客户端。 此外,您可以添加另一个const但更改 const bot = new commando.Client({ commandPrefix:'%', 老板:' myid', });
要 const client = new commando.Client({ commandPrefix:'%', 所有者:' id', });
所以基本上只是
const commando = require(' discord.js-commando'); const bot = new commando.Client({ commandPrefix:'%', 所有者:' id', });
const client = new commando.Client({ commandPrefix:'%', 所有者:' id',
确保
const commando = require(' discord.js-commando');
在其他竞争之前。
答案 2 :(得分:0)
DiscordJS Commando的文档说...
new Commando.CommandoClient(options);
这是CommandoClient /客户端类的构造函数。试试这个。
还提供有关您正在做的事情的详细信息吗?
您使用哪种方法查看用户是否是所有者?
您使用
ownerOnly: true
在您的命令构造函数中?
还是使用
hasPermission(msg) {
return this.client.isOwner(msg.author);
}
在您的命令中?
答案 3 :(得分:0)
如果您已经在运行机器人,而您刚刚输入了代码,则必须使用 Ctrl + C 关闭该机器人,然后键入node .
再次运行该机器人。重设漫游器始终对我有用。