It's version 0.4

This commit is contained in:
Niken
2025-10-19 14:28:41 +03:00
parent 772d3d5b83
commit 7b653d4dcc
32 changed files with 775 additions and 326 deletions
+15 -10
View File
@@ -12,9 +12,6 @@ from utils.analytics import create_statistics_text
logger = getLogger(__name__)
def register_handlers(dp: Dispatcher, state: BotState, bot: Bot):
@dp.message(Command("log"))
@saving
@@ -32,6 +29,7 @@ def register_handlers(dp: Dispatcher, state: BotState, bot: Bot):
async def send_status(message: Message):
from utils.analytics import analyze_bot_logs
from utils.mac_metrics import get_macbook_battery_level, get_process_usage
try:
stats = analyze_bot_logs(Config.LOG_FILE)
batt = await get_macbook_battery_level()
@@ -42,8 +40,8 @@ def register_handlers(dp: Dispatcher, state: BotState, bot: Bot):
f"✅ Uptime: {stats.get('uptime_percentage', 0)}%\n"
f"⏱️ Слежка расписания: {'ВКЛ' if state.watcher_work else 'ВЫКЛ'}\n"
f"🔋 Уровень заряда: {batt}%\n"
f"🖥️ Загрузка цп: {usage["cpu_percent"]}\n"
f"🧠 Загрузка оперативки: {usage["rss_mb"]:.2f} MB\n"
f"🖥️ Загрузка цп: {usage['cpu_percent']}\n"
f"🧠 Загрузка оперативки: {usage['rss_mb']:.2f} MB\n"
)
await message.answer(status_text)
except Exception as e:
@@ -54,16 +52,21 @@ def register_handlers(dp: Dispatcher, state: BotState, bot: Bot):
@admin_required(1)
async def stat(message: Message):
from utils.analytics import analyze_bot_logs
stats = analyze_bot_logs(Config.LOG_FILE)
await message.answer(create_statistics_text(stats), reply_to_message_id=message.message_id)
await message.answer(
create_statistics_text(stats), reply_to_message_id=message.message_id
)
@dp.message(Command("del"))
@admin_required(1)
async def delete_all_messages(message: Message):
messages = load_messages()
if not messages:
sent = await message.answer("📭 Нет сохранённых сообщений для удаления.",
reply_to_message_id=message.message_id)
sent = await message.answer(
"📭 Нет сохранённых сообщений для удаления.",
reply_to_message_id=message.message_id,
)
save_message(sent.chat.id, sent.message_id)
return
@@ -76,8 +79,10 @@ def register_handlers(dp: Dispatcher, state: BotState, bot: Bot):
logger.warning(f"Не удалось удалить {msg_id} в чате {chat_id}: {e}")
clear_messages()
sent = await message.answer(f"✅ Удалено {deleted} сообщений (включая /rasp).",
reply_to_message_id=message.message_id)
sent = await message.answer(
f"✅ Удалено {deleted} сообщений (включая /rasp).",
reply_to_message_id=message.message_id,
)
save_message(sent.chat.id, sent.message_id)
@dp.message(Command("power"))
+6 -4
View File
@@ -22,7 +22,7 @@ def register_handlers(dp: Dispatcher, state: BotState):
schedule_service = ScheduleService()
text, url, day, month = await schedule_service.get_schedule(group, day_offset)
# Отправляем текст расписания
msg = await message.answer(text, parse_mode="Markdown")
msg = await message.answer(text, parse_mode="Markdownv2")
save_message(message.chat.id, msg.message_id)
@@ -38,17 +38,19 @@ def register_handlers(dp: Dispatcher, state: BotState):
day_offset = int(args[2]) if len(args) > 2 and args[2].isdigit() else 0
schedule_service = ScheduleService()
clip_png, url, day, mouth = await schedule_service.get_pschedule(group, day_offset)
clip_png, url, day, mouth = await schedule_service.get_pschedule(
group, day_offset
)
if clip_png:
save_message(message.chat.id, message.message_id)
msg = await message.answer_photo(
types.BufferedInputFile(clip_png, filename=f"{group}.png"),
caption=f"Расписание для {group} на {day}.{mouth:02d}"
caption=f"Расписание для {group} на {day}.{mouth:02d}",
)
save_message(message.chat.id, msg.message_id)
state.file_id_cache[group.lower()] = msg.photo[-1].file_id
else:
await message.answer(f"Не удалось найти расписание для {group}")
await message.answer(f"Не удалось найти расписание для {group}")