Source code for src.commands.time_commands

# src/commands/time_commands.py
from services.time_library import preSet_time_library
from bot.state import get_team_id
from bot.scheduler import _get_target_time


[docs] def register_time_commands(bolt_app, state_manager): @bolt_app.command("/findtime") def handle_findtime_command(ack, respond, body): try: ack() team_id = get_team_id(body) state = state_manager.get_state(team_id) target = _get_target_time(state) mode = state.get_selected_mode() or "mode_random" respond(f"Scheduled prompt time: *{target}* (mode: `{mode}`)") except Exception as e: print(f"Error handling /findtime command: {e}") @bolt_app.command("/picktime") def pick_time(ack, respond, body): try: ack() team_id = get_team_id(body) state = state_manager.get_state(team_id) text = body.get("text", "").strip() if not text: respond( "Available time options:\n" "1. 12:00:00 PM\n" "2. 12:30:00 PM\n" "3. 01:00:00 PM\n" "4. 01:30:00 PM\n" "5. 02:00:00 PM\n" "6. 02:30:00 PM\n" "7. 03:00:00 PM\n" "8. 03:30:00 PM\n" "9. 04:00:00 PM\n" "10. 04:30:00 PM\n" "11. 05:00:00 PM\n\n" "Use `/picktime <number>` to set a specific time (e.g., `/picktime 5` for 02:00:00 PM)" ) return try: choice = int(text) except ValueError: respond("Please provide a valid number between 1 and 11 to set the time") return if 1 <= choice <= 11: daily_target_time = preSet_time_library(choice) state.set_daily_target_time(daily_target_time) respond(f"Time set to: {daily_target_time}") print(f"Daily target time set to: {daily_target_time}") else: respond("Must pick a number between 1 and 11 to set the time.") except Exception as e: print(f"Error handling /picktime command: {e}")