你如何让特定的人做命令
Posted
技术标签:
【中文标题】你如何让特定的人做命令【英文标题】:How do you let specific people do commands 【发布时间】:2019-10-31 09:12:44 【问题描述】:我正在制作一个 discord.js 机器人,但我遇到了问题。 我想成功,所以我必须允许谁可以使用我的命令。因此,如果我只想要一个获得私人命令的人,我可以添加代码并且只有他们可以使用它。我不想为他们设定一个特定的角色,因为我希望他们能够在任何不和谐服务器中使用它。谁能帮帮我?
好吧,我搜索了要做什么,但人们只说与角色有关的东西。
我目前没有代码,因为我还没有建议。
我对可能出现的错误没有任何期望,因为我真的不知道该怎么做。
【问题讨论】:
【参考方案1】:您不仅可以基于角色,还可以通过用户 ID 来限制对命令的访问。在 Discord 中,每个用户都有一个与他们相关联的唯一 ID。发送消息时,您可以将作者的 ID 与允许使用命令的 ID 核对。
为了存储 ID,您可以使用 json 文件或数据库。为了简单起见,我在这个例子中使用了一个 json 文件。
例如permitted.json
:
[
"189855563893571595",
"581635015151058944",
"135190099439779841"
]
消息事件示例:
const permitted = require('./permitted.json'); // path may vary depending on the file location
client.on('message', message =>
if (!permitted.includes(message.author.id)) return;
// continue on
);
“访问”命令示例:
// permitted = required json file
// args[1] = ID argument
const fs = require('fs');
if (message.author.id !== 'yourID') return;
let action;
if (!permitted.includes(args[1]))
permitted.push(args[1]);
action = 'added to';
else
permitted.splice(permitted.indexOf(args[1]), 1);
action = 'removed from';
try
fs.writeFileSync('./permitted.json', JSON.stringify(permitted));
message.channel.send(`That user has been $action the permitted list.`);
catch(err)
console.error(err);
【讨论】:
以上是关于你如何让特定的人做命令的主要内容,如果未能解决你的问题,请参考以下文章
为我的不和谐服务器制作 !suggest 命令,并需要它给我,所有者。可以dm特定的人吗?
NLP的思维:在合适的时间合适的空间遇见合适的人做了合适的事,一切刚刚好