diff --git a/config.py b/config.py index 5dbf683..2bb585a 100644 --- a/config.py +++ b/config.py @@ -20,13 +20,14 @@ _config = load_from_json() # Torn API TORN_API_KEY = _config.get("TORN_API_KEY", "YOUR_TORN_API_KEY_HERE") -ALLOWED_CHANNEL_ID = _config.get("ALLOWED_CHANNEL_ID", 0) + # FFScouter API FFSCOUTER_KEY = _config.get("FFSCOUTER_KEY", "YOUR_FFSCOUTER_KEY_HERE") # Discord Bot DISCORD_TOKEN = _config.get("DISCORD_TOKEN", "YOUR_DISCORD_BOT_TOKEN_HERE") +ALLOWED_CHANNEL_ID = _config.get("ALLOWED_CHANNEL_ID", 0) # Intervals POLL_INTERVAL = _config.get("POLL_INTERVAL", 30) diff --git a/services/bot_assignment.py b/services/bot_assignment.py index 09fec90..e6de6ab 100644 --- a/services/bot_assignment.py +++ b/services/bot_assignment.py @@ -5,7 +5,7 @@ from pathlib import Path from typing import Dict, Optional from datetime import datetime from services.server_state import STATE -from config import ASSIGNMENT_TIMEOUT, ASSIGNMENT_REMINDER +from config import ASSIGNMENT_TIMEOUT, ASSIGNMENT_REMINDER, ALLOWED_CHANNEL_ID class BotAssignmentManager: def __init__(self, bot): @@ -198,15 +198,19 @@ class BotAssignmentManager: "reminded": False } - # Send Discord message + # Send Discord message to channel attack_link = f"https://www.torn.com/loader.php?sid=attack&user2ID={enemy_id}" message = f"**New target for {discord_user.mention}!**\n\n[**{enemy.name}** (Level {enemy.level})]({attack_link})\n\nYou have {ASSIGNMENT_TIMEOUT} seconds!" try: - await discord_user.send(message) - print(f"Assigned {enemy.name} to {friendly.name} (Discord: {discord_user.name})") + channel = self.bot.get_channel(ALLOWED_CHANNEL_ID) + if channel: + await channel.send(message) + print(f"Assigned {enemy.name} to {friendly.name} (Discord: {discord_user.name})") + else: + print(f"Assignment channel {ALLOWED_CHANNEL_ID} not found") except Exception as e: - print(f"Failed to send Discord message to {discord_user.name}: {e}") + print(f"Failed to send Discord message to channel: {e}") async def monitor_active_targets(self): """Monitor active targets for status changes or timeouts""" @@ -238,7 +242,9 @@ class BotAssignmentManager: try: discord_user = await self.bot.fetch_user(discord_id) remaining = ASSIGNMENT_TIMEOUT - ASSIGNMENT_REMINDER - await discord_user.send(f"**Reminder:** Target {enemy.name} - {remaining} seconds left!") + channel = self.bot.get_channel(ALLOWED_CHANNEL_ID) + if channel: + await channel.send(f"**Reminder:** {discord_user.mention} - Target {enemy.name} - {remaining} seconds left!") data["reminded"] = True except: pass