【发布时间】:2021-05-24 18:34:30
【问题描述】:
机器人会为每条随机消息提供 50 到 100 点之间的随机 XP,这真的很慢。每分钟拥有 XP 会更好。
这是提供XP的代码,来自discord-xp中的levels.js:
client.on("message", async message => {
if (!message.guild) return;
if (message.author.bot) return;
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
const randomXp = Math.floor(Math.random() * 50) + 50;
console.log(randomXp);
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(`<:GG:807231058507464735> ${message.author}, you just leveled up to **level ${user.level}!** Keep going!`);
}
});
我已经试过了
const mongoose = require("mongoose");
const LevelSchema = new mongoose.Schema({
userID: { type: String },
guildID: { type: String },
xp: { type: Number, default: 0 },
level: { type: Number, default: 0 },
lastUpdated: { type: Date, default: new Date() },
last_message: 0,
});
module.exports = mongoose.model('Levels', LevelSchema);
和
if (Date.now() - levels.last_message > 60000) {
const randomXp = levels.xp += random.int(15, 25);
levels.last_message = Date.now();
}
在那里,但它并没有完全按照我的意愿行事。
【问题讨论】:
-
您尝试解决问题的代码是..? (“请为我重写这段代码,让它做我想做的事”不是问题。)
-
我尝试过使用: if (Date.now() - levels.last_message > 60000) { const randomXp = levels.xp += random.int(15, 25); level.last_message = Date.now(); levels.js 是 discord-xp 中的一个文件,其中包含所有数据,以下是其内容:pastebin.pl/view/23d4914a
标签: node.js discord.js