Changed Discord Bot to send to text channel instead of DMs
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user