import logging import time logger = logging.getLogger(__name__) def status(stop_event, bot): """Показать статус бота: пинг и время работы""" if stop_event.is_set(): return None logger.info("Консольная команда: status") latency_ms = round(bot.latency * 1000, 1) start_time = getattr(bot, "_start_time", time.time()) uptime_seconds = time.time() - start_time uptime_str = _format_uptime(uptime_seconds) print("\n" + "=" * 40) print("Статус бота") print("=" * 40) print(f" Пинг: {latency_ms} мс") print(f" Uptime: {uptime_str}") print(f" Статус: Online") print("=" * 40) logger.info("Консольная команда status: выполнена") def _format_uptime(total_seconds: float) -> str: """Форматировать секунды в человекочитаемый вид.""" days = int(total_seconds // 86400) hours = int((total_seconds % 86400) // 3600) minutes = int((total_seconds % 3600) // 60) seconds = int(total_seconds % 60) parts = [] if days: parts.append(f"{days}д") if hours: parts.append(f"{hours}ч") if minutes: parts.append(f"{minutes}м") parts.append(f"{seconds}с") return " ".join(parts)