fix_2
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
from aiogram import types
|
from aiogram import types, Router
|
||||||
import random
|
import random
|
||||||
import time
|
import time
|
||||||
from database import get_player, update_player
|
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):
|
async def activate_backup(callback: types.CallbackQuery):
|
||||||
user_id = callback.from_user.id
|
user_id = callback.from_user.id
|
||||||
player = get_player(user_id)
|
player = get_player(user_id)
|
||||||
@@ -11,7 +14,6 @@ async def activate_backup(callback: types.CallbackQuery):
|
|||||||
await callback.answer("✅ Резерв уже активен!", show_alert=True)
|
await callback.answer("✅ Резерв уже активен!", show_alert=True)
|
||||||
return
|
return
|
||||||
|
|
||||||
# Проверка: мощности хватит?
|
|
||||||
power_used = player["servers"] * 2.0
|
power_used = player["servers"] * 2.0
|
||||||
if power_used > player["power_capacity"]:
|
if power_used > player["power_capacity"]:
|
||||||
await callback.answer(
|
await callback.answer(
|
||||||
@@ -21,23 +23,10 @@ async def activate_backup(callback: types.CallbackQuery):
|
|||||||
return
|
return
|
||||||
|
|
||||||
update_player(user_id, {
|
update_player(user_id, {
|
||||||
"backup_channel_active": True,
|
"backup_channel_active": 1,
|
||||||
"speed": max(5, player["speed"] * 0.75)
|
"speed": max(5, player["speed"] * 0.75)
|
||||||
})
|
})
|
||||||
await callback.message.edit_text(
|
await callback.message.edit_text(
|
||||||
"✅ Резервный канал активирован! Сеть работает на 75% скорости."
|
"✅ Резервный канал активирован! Сеть работает на 75% скорости."
|
||||||
)
|
)
|
||||||
await callback.answer("⚡ Резерв включён!")
|
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}
|
|
||||||
)
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
from aiogram import types, Router
|
from aiogram import types, Router
|
||||||
from aiogram.filters import CommandStart
|
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 (
|
from economy import (
|
||||||
calculate_effective_bandwidth, calculate_rating, calculate_client_retention,
|
calculate_effective_bandwidth, calculate_rating, calculate_client_retention,
|
||||||
calculate_daily_income, calculate_daily_offline_earnings
|
calculate_daily_income, calculate_daily_offline_earnings
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
# handlers/stats.py
|
|
||||||
from aiogram import types, Router
|
from aiogram import types, Router
|
||||||
from database import get_player
|
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()
|
router = Router()
|
||||||
|
|
||||||
|
|||||||
6
main.py
6
main.py
@@ -1,4 +1,4 @@
|
|||||||
from aiogram import Bot, Dispatcher
|
from aiogram import Bot, Dispatcher, types
|
||||||
from aiogram.enums import ParseMode
|
from aiogram.enums import ParseMode
|
||||||
from aiogram import Router
|
from aiogram import Router
|
||||||
import asyncio
|
import asyncio
|
||||||
@@ -13,6 +13,8 @@ from handlers.stats import router as stats_router
|
|||||||
from handlers.map import router as map_router
|
from handlers.map import router as map_router
|
||||||
from handlers.events import router as events_router
|
from handlers.events import router as events_router
|
||||||
|
|
||||||
|
router = Router()
|
||||||
|
|
||||||
dp = Dispatcher()
|
dp = Dispatcher()
|
||||||
dp.include_router(start_router)
|
dp.include_router(start_router)
|
||||||
dp.include_router(build_router)
|
dp.include_router(build_router)
|
||||||
@@ -22,7 +24,7 @@ dp.include_router(map_router)
|
|||||||
dp.include_router(events_router)
|
dp.include_router(events_router)
|
||||||
|
|
||||||
@dp.message()
|
@dp.message()
|
||||||
async def echo(message: types.Message):
|
async def echo(message: types.Message): # ← теперь types.Message — валидно
|
||||||
if message.text == "/check":
|
if message.text == "/check":
|
||||||
from database import get_player
|
from database import get_player
|
||||||
from economy import calculate_effective_bandwidth, handle_outage, sync_power
|
from economy import calculate_effective_bandwidth, handle_outage, sync_power
|
||||||
|
|||||||
Reference in New Issue
Block a user