poll interval in config file and cleanup
This commit is contained in:
Binary file not shown.
@@ -5,6 +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
|
||||
|
||||
class BotAssignmentManager:
|
||||
def __init__(self, bot):
|
||||
@@ -40,13 +41,13 @@ class BotAssignmentManager:
|
||||
async def start(self):
|
||||
"""Start the bot assignment loop"""
|
||||
if self.running:
|
||||
print("⚠ Bot assignment already running")
|
||||
print("WARNING: Bot assignment already running")
|
||||
return
|
||||
|
||||
self.running = True
|
||||
self.task = asyncio.create_task(self.assignment_loop())
|
||||
print("✓ Bot assignment loop started")
|
||||
print(f"✓ Loaded {len(self.discord_mapping)} Discord ID mappings")
|
||||
print("Bot assignment loop started")
|
||||
print(f"Loaded {len(self.discord_mapping)} Discord ID mappings")
|
||||
|
||||
async def stop(self):
|
||||
"""Stop the bot assignment loop"""
|
||||
@@ -199,7 +200,7 @@ class BotAssignmentManager:
|
||||
|
||||
# Send Discord message
|
||||
enemy_link = f"https://www.torn.com/profiles.php?XID={enemy_id}"
|
||||
message = f"**New target for {discord_user.mention}!**\n\nAttack **{enemy.name}** (Level {enemy.level})\n{enemy_link}\n\n⏰ You have 60 seconds!"
|
||||
message = f"**New target for {discord_user.mention}!**\n\nAttack **{enemy.name}** (Level {enemy.level})\n{enemy_link}\n\nYou have {ASSIGNMENT_TIMEOUT} seconds!"
|
||||
|
||||
try:
|
||||
await discord_user.send(message)
|
||||
@@ -225,24 +226,25 @@ class BotAssignmentManager:
|
||||
if friendly_id in STATE.friendly:
|
||||
# Increment hit count
|
||||
STATE.friendly[friendly_id].hits += 1
|
||||
print(f"✓ {STATE.friendly[friendly_id].name} successfully hospitalized {enemy.name}")
|
||||
print(f"SUCCESS: {STATE.friendly[friendly_id].name} successfully hospitalized {enemy.name}")
|
||||
|
||||
# Remove from active targets
|
||||
del self.active_targets[key]
|
||||
continue
|
||||
|
||||
# Send reminder at 15 seconds
|
||||
if elapsed >= 15 and not data["reminded"]:
|
||||
# Send reminder
|
||||
if elapsed >= ASSIGNMENT_REMINDER and not data["reminded"]:
|
||||
discord_id = data["discord_id"]
|
||||
try:
|
||||
discord_user = await self.bot.fetch_user(discord_id)
|
||||
await discord_user.send(f"⏰ **Reminder:** Target {enemy.name} - 15 seconds left!")
|
||||
remaining = ASSIGNMENT_TIMEOUT - ASSIGNMENT_REMINDER
|
||||
await discord_user.send(f"**Reminder:** Target {enemy.name} - {remaining} seconds left!")
|
||||
data["reminded"] = True
|
||||
except:
|
||||
pass
|
||||
|
||||
# Reassign after 60 seconds
|
||||
if elapsed >= 60:
|
||||
# Reassign after timeout
|
||||
if elapsed >= ASSIGNMENT_TIMEOUT:
|
||||
to_reassign.append((data["group_id"], enemy_id))
|
||||
del self.active_targets[key]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user