Archived
feat(bot): add bot account ownership and balance
This commit is contained in:
@@ -4,7 +4,6 @@ from aiogram import Router
|
||||
from aiogram.types import Message
|
||||
from aiogram.fsm.context import FSMContext
|
||||
|
||||
from bot.filters import AdminFilter
|
||||
from bot.api.asf import get_all_bots, send_command
|
||||
from bot.logging_utils import describe_user, get_logger
|
||||
from bot.services.redeem import (
|
||||
@@ -12,6 +11,7 @@ from bot.services.redeem import (
|
||||
redeem_all_bots_keys,
|
||||
redeem_single_bot_keys,
|
||||
)
|
||||
from bot.services.bot_accounts import list_user_bot_accounts
|
||||
|
||||
from bot.states import ConsoleFlow, RedeemFlow
|
||||
|
||||
@@ -26,7 +26,7 @@ router = Router()
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
@router.message(ConsoleFlow.waiting_command, AdminFilter())
|
||||
@router.message(ConsoleFlow.waiting_command)
|
||||
async def handle_console_message(message: Message, state: FSMContext):
|
||||
if not message.text:
|
||||
await message.answer("Отправьте текстовую команду.")
|
||||
@@ -97,11 +97,12 @@ async def handle_console_message(message: Message, state: FSMContext):
|
||||
await message.answer(f"Ошибка: {error}")
|
||||
|
||||
|
||||
@router.message(RedeemFlow.waiting_bot_keys, AdminFilter())
|
||||
@router.message(RedeemFlow.waiting_bot_keys)
|
||||
async def handle_single_bot_redeem(message: Message, state: FSMContext):
|
||||
state_data = await state.get_data()
|
||||
|
||||
bot_name = state_data.get("bot_name")
|
||||
account_id = state_data.get("account_id")
|
||||
if not isinstance(bot_name, str) or not bot_name:
|
||||
await message.answer("Контекст потерян, попробуйте еще раз.")
|
||||
await state.clear()
|
||||
@@ -126,7 +127,7 @@ async def handle_single_bot_redeem(message: Message, state: FSMContext):
|
||||
await message.bot.edit_message_text(
|
||||
text=format_bot_ui(bot_data),
|
||||
reply_markup=bot_details_keyboard(
|
||||
bot_name, bool(bot_data.get("HasMobileAuthenticator"))
|
||||
account_id, bool(bot_data.get("HasMobileAuthenticator"))
|
||||
),
|
||||
disable_web_page_preview=True,
|
||||
chat_id=chat_id,
|
||||
@@ -195,7 +196,7 @@ async def handle_single_bot_redeem(message: Message, state: FSMContext):
|
||||
await state.clear()
|
||||
|
||||
|
||||
@router.message(RedeemFlow.waiting_all_keys, AdminFilter())
|
||||
@router.message(RedeemFlow.waiting_all_keys)
|
||||
async def handle_all_bots_redeem(message: Message, state: FSMContext):
|
||||
state_data = await state.get_data()
|
||||
|
||||
@@ -210,8 +211,8 @@ async def handle_all_bots_redeem(message: Message, state: FSMContext):
|
||||
if menu_message_id:
|
||||
try:
|
||||
await message.bot.edit_message_text(
|
||||
text=get_asf_status_text(),
|
||||
reply_markup=main_keyboard(),
|
||||
text=get_asf_status_text(message.from_user.id),
|
||||
reply_markup=main_keyboard(message.from_user.id),
|
||||
chat_id=chat_id,
|
||||
message_id=menu_message_id,
|
||||
)
|
||||
@@ -256,7 +257,10 @@ async def handle_all_bots_redeem(message: Message, state: FSMContext):
|
||||
)
|
||||
|
||||
try:
|
||||
await checking.edit_text(await redeem_all_bots_keys(keys))
|
||||
accounts = await list_user_bot_accounts(message.from_user.id)
|
||||
await checking.edit_text(
|
||||
await redeem_all_bots_keys(keys, [account.bot_name for account in accounts])
|
||||
)
|
||||
|
||||
except Exception as error:
|
||||
logger.exception(
|
||||
|
||||
Reference in New Issue
Block a user