【发布时间】:2021-02-09 12:35:36
【问题描述】:
我正在开发我的不和谐机器人的调平系统。我想让用户每分钟只获得一次 xp,无论发送多少条消息。我无法弄清楚,需要一些帮助。我尝试添加冷却时间,但没有任何效果。
这是xp代码:
bot.on("message", async message => {
if (!message.guild) return;
if (message.author.bot) return;
const args = message.content.slice(PREFIX.length).split(" ");
const cmd = args.shift().toLowerCase();
let randomXp = Math.floor(Math.random() * 9) + 1;
const hasLeveledUp = await Levels.appendXp(message.author.id, message.guild.id, randomXp);
if (hasLeveledUp)
{
const user = await Levels.fetch(message.author.id, message.guild.id);
message.channel.send(`You leveled up to level ${user.level}!`);
}
if(cmd === "rank")
{
const user = await Levels.fetch(message.author.id, message.guild.id);
message.channel.send(`You are currently level **${user.level}**!`)
}
if(cmd === "lb")
{
const rawLeaderboard = await Levels.fetchLeaderboard(message.guild.id, 5);
if (rawLeaderboard.length < 1) return reply(" Nobody's in the leaderboard yet..");
const leaderboard = Levels.computeLeaderboard(bot, rawLeaderboard);
const lb = leaderboard.map(e => `${e.position}. ${e.username}#${e.discriminator}\nLevel: ${e.level}\nXP: ${e.xp.toLocaleString()}`);
message.channel.send(`${lb.join("\n\n")}`)
}
})
【问题讨论】:
标签: javascript discord discord.js bots