我有一个 command
可以直接更改机器人的 status
。
如果我把机器人放到其他服务器上,那些拥有 administrator permissions
的人将能够改变机器人的状态,而我不希望那样。
我想成为唯一一个能够改变机器人status
的人。
这是我当前的代码:
client.on("message", (message) => {
var argresult = message.content.split(` `).slice(1).join(" ");
const { member, mentions } = message;
if (member.hasPermission("ADMINISTRATOR")) {
if (message.content.startsWith(prefix + "wat")) {
client.user.setActivity(argresult, { type: "WATCHING" });
message.channel.send(
"**:white_check_mark: | The Watching Status Has Been Changed To : ``" +
`${argresult}` +
"``**"
);
console.log(`Bot status was changed to: ${argresult}`);
}
} else {
message.reply("You dont have permission to do that");
}
});
有什么办法可以实现吗?
答案 0 :(得分:0)
好吧,您可以给自己一个非常自定义的角色,只有您可以拥有,代码将如下所示:
在这种情况下,您必须创建一个名为“AdminDeveloper”的新角色并将其分配给您。
client.on('message', message => {
var argresult = message.content.split(` `).slice(1).join(' ');
const {
member,
mentions
} = message;
if (member.roles.cache.some(role => role.name === 'AdminDeveloper') {
if (message.content.startsWith(prefix + 'wat')) {
client.user.setActivity(argresult, {
type: 'WATCHING'
});
message.channel.send("**:white_check_mark: | The Watching Status Has Been Changed To : ``" + `${argresult}` + "``**");
console.log(`Bot status was changed to: ${argresult}`);
}
} else {
message.reply("You dont have permission to do that")
}
});
答案 1 :(得分:0)
最简单的方法是here in the discord.js guide
您限制命令,以便通过拒绝没有您的用户 ID 的任何人来执行此操作
if (<message>.author.id === '<id>') {
// This is if they are you
}
// or you can do which is the opposite, it returns if it is not you
if (<message>.author.id != '<id>') return