feat: set initial Discord presence on startup and on mood detection
- In on_ready(), set presence based on current mood (evil or normal) after all state is restored - When LLM-detected mood shift is applied, update presence immediately
This commit is contained in:
17
bot/bot.py
17
bot/bot.py
@@ -136,6 +136,16 @@ async def on_ready():
|
|||||||
# Save current avatar as fallback
|
# Save current avatar as fallback
|
||||||
await profile_picture_manager.save_current_avatar_as_fallback()
|
await profile_picture_manager.save_current_avatar_as_fallback()
|
||||||
|
|
||||||
|
# Set initial Discord presence based on current mood
|
||||||
|
try:
|
||||||
|
from utils.activities import update_bot_presence
|
||||||
|
if globals.EVIL_MODE:
|
||||||
|
await update_bot_presence(globals.EVIL_DM_MOOD, is_evil=True)
|
||||||
|
else:
|
||||||
|
await update_bot_presence(globals.DM_MOOD, is_evil=False)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Failed to set initial presence: {e}")
|
||||||
|
|
||||||
# Start server-specific schedulers (includes DM mood rotation)
|
# Start server-specific schedulers (includes DM mood rotation)
|
||||||
server_manager.start_all_schedulers(globals.client)
|
server_manager.start_all_schedulers(globals.client)
|
||||||
|
|
||||||
@@ -376,6 +386,13 @@ async def on_message(message):
|
|||||||
from utils.moods import update_server_nickname
|
from utils.moods import update_server_nickname
|
||||||
globals.client.loop.create_task(update_server_nickname(message.guild.id))
|
globals.client.loop.create_task(update_server_nickname(message.guild.id))
|
||||||
|
|
||||||
|
# Update Discord presence to match new mood
|
||||||
|
try:
|
||||||
|
from utils.activities import update_bot_presence
|
||||||
|
await update_bot_presence(detected, is_evil=False)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"Failed to update presence after mood detection: {e}")
|
||||||
|
|
||||||
logger.info(f"🔄 Server mood auto-updated to: {detected}")
|
logger.info(f"🔄 Server mood auto-updated to: {detected}")
|
||||||
|
|
||||||
if detected == "asleep":
|
if detected == "asleep":
|
||||||
|
|||||||
Reference in New Issue
Block a user