Initial commit: Miku Discord Bot

This commit is contained in:
2025-12-07 17:15:09 +02:00
commit 8c74ad5260
206 changed files with 50125 additions and 0 deletions

View File

View File

@@ -0,0 +1,66 @@
# commands/actions.py
import os
import asyncio
import globals
from utils.moods import load_mood_description
from utils.scheduled import send_bedtime_reminder
def set_mood(new_mood):
path = os.path.join("moods", f"{new_mood}.txt")
if os.path.exists(path):
globals.CURRENT_MOOD = load_mood_description(new_mood)
globals.CURRENT_MOOD_NAME = new_mood
return True
return False
def reset_mood():
globals.CURRENT_MOOD_NAME = "neutral"
globals.CURRENT_MOOD = load_mood_description("neutral")
def check_mood():
return globals.CURRENT_MOOD_NAME
def calm_miku():
globals.FORCED_ANGRY_UNTIL = None
if globals.ANGRY_WAKEUP_TIMER and not globals.ANGRY_WAKEUP_TIMER.done():
globals.ANGRY_WAKEUP_TIMER.cancel()
globals.ANGRY_WAKEUP_TIMER = None
def reset_conversation(user_id):
globals.conversation_history[str(user_id)].clear()
async def force_sleep(set_sleep_state=None):
globals.CURRENT_MOOD_NAME = "asleep"
globals.CURRENT_MOOD = load_mood_description("asleep")
globals.PREVIOUS_MOOD_NAME = "sleepy"
globals.IS_SLEEPING = True
if set_sleep_state:
await set_sleep_state(True)
await asyncio.sleep(3600)
globals.IS_SLEEPING = False
if set_sleep_state:
await set_sleep_state(False)
reset_mood()
async def wake_up(set_sleep_state=None):
reset_mood()
globals.PREVIOUS_MOOD_NAME = "asleep"
globals.IS_SLEEPING = False
if set_sleep_state:
await set_sleep_state(False)
async def send_bedtime_now():
await send_bedtime_reminder()