为Bot Discord.js发送的每封邮件赢取积分

为Bot Discord.js发送的每封邮件赢取积分,discord,discord.js,bots,currency,credits,Discord,Discord.js,Bots,Currency,Credits,我需要有关Discord bot的帮助,我正在使用Discord.js 所以我做了这个: client.on("message", async(message) => { if (!message.guild) return; if (message.author.bot) return; if (mentionn) { const randomAmountOfCredits = Math.floor(Math.random() * 29) + 1

我需要有关Discord bot的帮助,我正在使用Discord.js

所以我做了这个:

client.on("message", async(message) => {
  if (!message.guild) return;
  if (message.author.bot) return;
  if (mentionn) {

    const randomAmountOfCredits = Math.floor(Math.random() * 29) + 1; // Min 1, Max 30
    (message.author.id, message.guild.id, randomAmountOfCredits);
    if (collected.first().content === number) {
      m.delete();
      collected.first().delete();
      credits[mentionn.id].credits += (+randomAmountOfCredits);
      fs.writeFile(path, JSON.stringify(credits, null, 5), function(err) {
        if (err) console.log(err)
      });

      if (collected.first().content !== number) {
        return m.delete();
      } else if (!mentionn) {
        credits[author].credits += (+randomAmountOfCredits);
        fs.writeFile(path, JSON.stringify(credits, null, 5), function(err) {
          if (err) console.log(err)
        });
      }
    }
  }
});
这就像通过发送的每条消息获得积分,但我没有获得任何积分,控制台上没有错误:

在这里,我必须获得学分,但什么也没有发生:


我是一个新手,谢谢你

我一行代码都不懂,我也不懂你对Pascal Stockert问题的回答,我也不明白一个
收集的
(从收集器?)var在这里做什么。但我会尽力的。这就是我添加这个特性的方式,可以随意修改代码并添加任意多的条件

client.on(“消息”,异步消息=>{
//首先,生成一个随机数
const newXP=Math.天花(Math.random()*30);
//阅读现有的XPs
const file=fs.readFileSync(“xp.json”);
//向消息作者添加一些XP
文件[msg.author.id].credits+=newXP;
//编写新的XP文件
writeFileSync(“xp.json”,json.stringify(文件,null,4));
//完成了。
});
我没有添加它,但是要小心,它看起来好像没有处理
文件[msg.author.id]
不存在的情况

client.on("message", async msg => {
// First, generate a random number
const newXP = Math.ceiling(Math.random() * 30);
// Read the existing XPs
const file = fs.readFileSync("credits.json");
// Add some XP to the author of the message
credits[author].credits += -newXP;
    credits[mention.id].credits += +newXP;
  fs.writeFileSync("xp.json", JSON.stringify(file, null, 4));

我已经试过了,但仍然不起作用

第三个if子句中提到了什么Pascal Stockert 26分钟前答:是脚本检测到客户机(键入的用户)时收到的?@Issemoran看起来你不太熟悉。快速提醒:如果某个答案对你有帮助,请投票表决。如果它解决了您的问题,请单击复选标记。Hello@a2br,文件是credits.json,而不是xp.json。这就是文件的格式!发送messagesconst args=message.content.split(“”)时,我的积分仍然相同;const credits=require('./credits.json');常量路径='./credits.json';const-title=message.indications.users.first()| | client.users.cache.get(args[1])| | message.author;const-sinden=message.sindements.users.first()| | client.users.cache.get(args[1]);const author=message.author.id;常量平衡=args[2];