Javascript 如何创建一个discord bot,在用户运行命令时向其发送特定代码?有点像账户生成器

Javascript 如何创建一个discord bot,在用户运行命令时向其发送特定代码?有点像账户生成器,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,因此,基本上,我正在尝试为我的discord.js bot编写一个代码,当用户运行特定命令时,它将使用steam密钥向用户发送消息。当我想到给VIP会员一个特别的功能时,我想到了这个主意,他们每天只需使用一个简单的命令就可以获得一个蒸汽钥匙,这样我的私人信息就不会被垃圾邮件攻击。我会提供蒸汽钥匙。该功能应向使用命令的每个用户发送唯一的steam密钥,而不应向不同的用户发送相同的密钥。我已经编写了很多其他命令,但这一条真的让我很困扰,我不知道如何创建这样一个功能。请帮忙 这基本上是针对我的disc

因此,基本上,我正在尝试为我的discord.js bot编写一个代码,当用户运行特定命令时,它将使用steam密钥向用户发送消息。当我想到给VIP会员一个特别的功能时,我想到了这个主意,他们每天只需使用一个简单的命令就可以获得一个蒸汽钥匙,这样我的私人信息就不会被垃圾邮件攻击。我会提供蒸汽钥匙。该功能应向使用命令的每个用户发送唯一的steam密钥,而不应向不同的用户发送相同的密钥。我已经编写了很多其他命令,但这一条真的让我很困扰,我不知道如何创建这样一个功能。请帮忙


这基本上是针对我的discord服务器的,应该在discord.js中进行编码。我可以创建一个代码,但困扰我的是我无法停止按键的重复…

解释

如评论所述


维护一个未发送密钥池和一个用户表,其中包含数据库中的密钥

这是因为用户可以从未使用的存储库中接收密钥,一旦移除,就不能再次发出密钥。如果希望每个用户只允许一个密钥(或实现冷却),则可以存储用户及其密钥

与JSON文件相比,真正的数据库是一个更好的选择,但在一个简单的示例中,您可能的选择太多了


示例设置

keys.json

{
  "__UNUSED": [
    "ABCD",
    "1234",
    "0000"
  ],

  "userIDHere": "keyHere"
}
内部命令:

/*异步上下文是“wait”(在异步函数中的意思)所需的*/
常数fs=要求('fs');
constkeys=require('./keys.json');
试一试{
//确保用户尚未申请密钥。
if(keys[message.author.id])返回wait message.author.send(“:x:您已经声明了密钥”);
//确保还有钥匙。
如果(键。\uuu未使用。长度==0){
控制台错误('钥匙不足');
return wait message.author.send(“:x:抱歉,目前没有可申请的密钥”);
}
//抓取第一个键(无需随机化)。
常量键=键。uuu未使用[0];
//向用户发送密钥,然后将其从池中删除,捕获任何错误。
wait message.author.send(`这是你的钥匙:| |${key}| |`);
键。未使用的。拼接(1);
密钥[message.author.id]=密钥;
writeFileSync('./keys.json',json.stringify(keys));
}捕捉(错误){
控制台错误(err);
}
…我想给VIP会员一个特别的功能,让他们每天都能拿到团队钥匙


如果您想合并此功能,您可以设置一个间隔或创建一个作业,每24小时将用户从JSON/数据库中删除一次。

到目前为止您尝试了什么?您是否遇到任何错误或某些方法无法按照您的期望工作?请在数据库中维护一个未发送密钥池和一个包含用户密钥的表。