mirror of
https://github.com/ahmadk953/poixpixel-discord-bot.git
synced 2025-06-22 06:04:20 +00:00
fix(bot): added better type checking
This commit is contained in:
parent
3ffd0d2b80
commit
01c1bbc21d
2 changed files with 28 additions and 5 deletions
|
@ -86,8 +86,8 @@ export async function addXpToUser(
|
||||||
const cacheKey = `level-${discordId}`;
|
const cacheKey = `level-${discordId}`;
|
||||||
const userData = await getUserLevel(discordId);
|
const userData = await getUserLevel(discordId);
|
||||||
const currentLevel = userData.level;
|
const currentLevel = userData.level;
|
||||||
const currentXp = Number(userData.xp);
|
const currentXp = userData.xp;
|
||||||
const xpToAdd = Number(amount);
|
const xpToAdd = amount;
|
||||||
|
|
||||||
userData.xp = currentXp + xpToAdd;
|
userData.xp = currentXp + xpToAdd;
|
||||||
|
|
||||||
|
|
|
@ -16,9 +16,32 @@ import { processMessageAchievements } from './achievementManager.js';
|
||||||
|
|
||||||
const config = loadConfig();
|
const config = loadConfig();
|
||||||
|
|
||||||
const XP_COOLDOWN = config.leveling.xpCooldown || 60 * 1000;
|
let minXpOffered = config.leveling.minXpAwarded ?? 5;
|
||||||
const MIN_XP = config.leveling.minXpAwarded || 5;
|
let maxXpOffered = config.leveling.maxXpAwarded ?? 15;
|
||||||
const MAX_XP = config.leveling.maxXpAwarded || 15;
|
|
||||||
|
if (typeof minXpOffered === 'string') {
|
||||||
|
minXpOffered = parseInt(minXpOffered, 10);
|
||||||
|
}
|
||||||
|
if (typeof maxXpOffered === 'string') {
|
||||||
|
maxXpOffered = parseInt(maxXpOffered, 10);
|
||||||
|
}
|
||||||
|
if (minXpOffered > maxXpOffered) {
|
||||||
|
throw new Error(
|
||||||
|
'Minimum XP awarded must be less than or equal to maximum XP awarded.',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const MIN_XP = minXpOffered;
|
||||||
|
const MAX_XP = maxXpOffered;
|
||||||
|
|
||||||
|
let xpCooldownValue = config.leveling.xpCooldown ?? 60;
|
||||||
|
if (typeof xpCooldownValue === 'string') {
|
||||||
|
xpCooldownValue = parseInt(xpCooldownValue, 10);
|
||||||
|
}
|
||||||
|
if (isNaN(xpCooldownValue)) {
|
||||||
|
throw new Error('XP cooldown must be a number.');
|
||||||
|
}
|
||||||
|
const XP_COOLDOWN = xpCooldownValue * 1000;
|
||||||
|
|
||||||
const __dirname = path.resolve();
|
const __dirname = path.resolve();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue