如何防止他人更改我的机器人程序的状态



我有一个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

最新更新