From 7955d671fb1995cc44c7045fd10bc4e48cdd7766 Mon Sep 17 00:00:00 2001 From: - Date: Tue, 21 Oct 2025 18:00:45 -0700 Subject: [PATCH] admin privileges given to server owners and config moved to .env --- .env.example | 4 ++++ commands/link.js | 4 ++-- services/matchTracker.js | 11 ++++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.env.example b/.env.example index f4e644d..69494aa 100644 --- a/.env.example +++ b/.env.example @@ -8,3 +8,7 @@ LEETIFY_API_BASE_URL=https://api-public.cs-prod.leetify.com # Bot Settings PREFIX=! + +# Match Tracker Settings +CHECK_INTERVAL_MINUTES=60 # How often to check for new matches (default: 60 minutes) +USER_COOLDOWN_HOURS=3 # Cooldown period after detecting a match (default: 3 hours) diff --git a/commands/link.js b/commands/link.js index c515b14..08bbd87 100644 --- a/commands/link.js +++ b/commands/link.js @@ -24,8 +24,8 @@ module.exports = { return message.reply({ embeds: [embed] }); } - const ADMIN_ID = '945415570281603103'; // Admin who can link others - const isAdmin = message.author.id === ADMIN_ID; + // Check if user has Administrator permission in this server + const isAdmin = message.member.permissions.has('Administrator'); if (args.length < 1) { const embed = new EmbedBuilder() diff --git a/services/matchTracker.js b/services/matchTracker.js index 00076fb..9fbc8ae 100644 --- a/services/matchTracker.js +++ b/services/matchTracker.js @@ -6,8 +6,13 @@ const { loadUserLinks } = require('../utils/userLinksManager'); const { getGuildConfig } = require('../utils/guildConfigManager'); const TRACKER_DATA_PATH = path.join(__dirname, '../data/matchTrackerData.json'); -const CHECK_INTERVAL = 60 * 60 * 1000; // 1 hour in milliseconds -const USER_COOLDOWN = 3 * 60 * 60 * 1000; // 3 hours in milliseconds + +// Load timer configurations from environment variables (with defaults) +const CHECK_INTERVAL_MINUTES = parseInt(process.env.CHECK_INTERVAL_MINUTES) || 60; +const USER_COOLDOWN_HOURS = parseInt(process.env.USER_COOLDOWN_HOURS) || 3; + +const CHECK_INTERVAL = CHECK_INTERVAL_MINUTES * 60 * 1000; // Convert minutes to milliseconds +const USER_COOLDOWN = USER_COOLDOWN_HOURS * 60 * 60 * 1000; // Convert hours to milliseconds class MatchTracker { constructor() { @@ -88,7 +93,7 @@ class MatchTracker { * Start the automatic tracking interval */ startTracking() { - console.log('Starting match tracker - checking every 1 hour'); + console.log(`Starting match tracker - checking every ${CHECK_INTERVAL_MINUTES} minute${CHECK_INTERVAL_MINUTES !== 1 ? 's' : ''} (cooldown: ${USER_COOLDOWN_HOURS} hour${USER_COOLDOWN_HOURS !== 1 ? 's' : ''})`); // Run initial check this.checkAllUsers();