From 399bffde1d7d4817c4dfebfb02c454dc11ac6117 Mon Sep 17 00:00:00 2001 From: smolkik-code Date: Mon, 23 Feb 2026 15:41:59 +0700 Subject: [PATCH] fix_2 --- handlers/events.py | 23 ++++++----------------- handlers/start.py | 2 +- handlers/stats.py | 7 +++++-- main.py | 6 ++++-- 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/handlers/events.py b/handlers/events.py index a4b3055..4123f3e 100644 --- a/handlers/events.py +++ b/handlers/events.py @@ -1,8 +1,11 @@ -from aiogram import types +from aiogram import types, Router import random import time from database import get_player, update_player +router = Router() + +@router.callback_query(lambda c: c.data == "activate_backup") async def activate_backup(callback: types.CallbackQuery): user_id = callback.from_user.id player = get_player(user_id) @@ -11,7 +14,6 @@ async def activate_backup(callback: types.CallbackQuery): await callback.answer("✅ Резерв уже активен!", show_alert=True) return - # Проверка: мощности хватит? power_used = player["servers"] * 2.0 if power_used > player["power_capacity"]: await callback.answer( @@ -21,23 +23,10 @@ async def activate_backup(callback: types.CallbackQuery): return update_player(user_id, { - "backup_channel_active": True, + "backup_channel_active": 1, "speed": max(5, player["speed"] * 0.75) }) await callback.message.edit_text( "✅ Резервный канал активирован! Сеть работает на 75% скорости." ) - await callback.answer("⚡ Резерв включён!") - -def trigger_outage_event() -> tuple[str, dict]: - if random.random() > 0.1: # 10% шанс за сессию (можно регулировать) - return "", {} - - district = random.choice(["Северный", "Западный", "Индустриальный"]) - duration_hours = 1 + random.randint(0, 3) - return ( - f"⚠️ АВАРИЯ В РАЙОНЕ '{district}'!\n" - f"Электроснабжение отключено. Ожидание: {duration_hours} ч.\n" - f"💡 Используйте резервный канал, если есть.", - {"outage_end_ts": int(__import__("time").time()) + duration_hours * 3600} - ) \ No newline at end of file + await callback.answer("⚡ Резерв включён!") \ No newline at end of file diff --git a/handlers/start.py b/handlers/start.py index 75f463b..d2015a7 100644 --- a/handlers/start.py +++ b/handlers/start.py @@ -1,6 +1,6 @@ from aiogram import types, Router from aiogram.filters import CommandStart -from database import create_player_if_not_exists, get_player +from database import create_player_if_not_exists, get_player, update_player # ← добавь update_player from economy import ( calculate_effective_bandwidth, calculate_rating, calculate_client_retention, calculate_daily_income, calculate_daily_offline_earnings diff --git a/handlers/stats.py b/handlers/stats.py index ee8b8b0..9456ec4 100644 --- a/handlers/stats.py +++ b/handlers/stats.py @@ -1,7 +1,10 @@ -# handlers/stats.py from aiogram import types, Router from database import get_player -from economy import calculate_rating, calculate_effective_bandwidth +from economy import ( + calculate_effective_bandwidth, + calculate_rating, + calculate_daily_income # ← ВОТ ЭТОТ ИМПОРТ НУЖЕН! +) router = Router() diff --git a/main.py b/main.py index 1e0d38a..8243b4a 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -from aiogram import Bot, Dispatcher +from aiogram import Bot, Dispatcher, types from aiogram.enums import ParseMode from aiogram import Router import asyncio @@ -13,6 +13,8 @@ from handlers.stats import router as stats_router from handlers.map import router as map_router from handlers.events import router as events_router +router = Router() + dp = Dispatcher() dp.include_router(start_router) dp.include_router(build_router) @@ -22,7 +24,7 @@ dp.include_router(map_router) dp.include_router(events_router) @dp.message() -async def echo(message: types.Message): +async def echo(message: types.Message): # ← теперь types.Message — валидно if message.text == "/check": from database import get_player from economy import calculate_effective_bandwidth, handle_outage, sync_power