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
|
||||||
TORN_API_KEY = _config.get("TORN_API_KEY", "YOUR_TORN_API_KEY_HERE")
|
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 API
|
||||||
FFSCOUTER_KEY = _config.get("FFSCOUTER_KEY", "YOUR_FFSCOUTER_KEY_HERE")
|
FFSCOUTER_KEY = _config.get("FFSCOUTER_KEY", "YOUR_FFSCOUTER_KEY_HERE")
|
||||||
|
|
||||||
# Discord Bot
|
# Discord Bot
|
||||||
DISCORD_TOKEN = _config.get("DISCORD_TOKEN", "YOUR_DISCORD_BOT_TOKEN_HERE")
|
DISCORD_TOKEN = _config.get("DISCORD_TOKEN", "YOUR_DISCORD_BOT_TOKEN_HERE")
|
||||||
|
ALLOWED_CHANNEL_ID = _config.get("ALLOWED_CHANNEL_ID", 0)
|
||||||
|
|
||||||
# Intervals
|
# Intervals
|
||||||
POLL_INTERVAL = _config.get("POLL_INTERVAL", 30)
|
POLL_INTERVAL = _config.get("POLL_INTERVAL", 30)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from pathlib import Path
|
|||||||
from typing import Dict, Optional
|
from typing import Dict, Optional
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from services.server_state import STATE
|
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:
|
class BotAssignmentManager:
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
@@ -198,15 +198,19 @@ class BotAssignmentManager:
|
|||||||
"reminded": False
|
"reminded": False
|
||||||
}
|
}
|
||||||
|
|
||||||
# Send Discord message
|
# Send Discord message to channel
|
||||||
attack_link = f"https://www.torn.com/loader.php?sid=attack&user2ID={enemy_id}"
|
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!"
|
message = f"**New target for {discord_user.mention}!**\n\n[**{enemy.name}** (Level {enemy.level})]({attack_link})\n\nYou have {ASSIGNMENT_TIMEOUT} seconds!"
|
||||||
|
|
||||||
try:
|
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})")
|
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:
|
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):
|
async def monitor_active_targets(self):
|
||||||
"""Monitor active targets for status changes or timeouts"""
|
"""Monitor active targets for status changes or timeouts"""
|
||||||
@@ -238,7 +242,9 @@ class BotAssignmentManager:
|
|||||||
try:
|
try:
|
||||||
discord_user = await self.bot.fetch_user(discord_id)
|
discord_user = await self.bot.fetch_user(discord_id)
|
||||||
remaining = ASSIGNMENT_TIMEOUT - ASSIGNMENT_REMINDER
|
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
|
data["reminded"] = True
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user