我有一个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");
}
});
有什么办法做到这一点吗?
好吧,你可以给自己一个只有你才能拥有的非常自定义的角色,代码会变成这样:
在这种情况下,您必须创建一个名为";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")
}
});
最简单的方法是在discord.js指南中
你限制命令,这样只有你才能通过拒绝任何没有你的用户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