Активация подписки после пополнения баланса!

This commit is contained in:
gy9vin
2025-12-18 08:45:59 +03:00
parent 0b714893e7
commit 71facd9624
4 changed files with 29 additions and 0 deletions

View File

@@ -509,6 +509,10 @@ BOT_RUN_MODE=polling # polling, webhook или both
CONTESTS_ENABLED=false
CONTESTS_BUTTON_VISIBLE=false
# ===== КНОПКА АКТИВАЦИИ =====
ACTIVATE_BUTTON_VISIBLE=false
# ACTIVATE_BUTTON_TEXT=активировать
# ===== ЕДИНЫЙ ВЕБ-СЕРВЕР =====
WEB_API_ENABLED=false
WEB_API_HOST=0.0.0.0

View File

@@ -239,6 +239,8 @@ class Settings(BaseSettings):
# Отключение превью ссылок в сообщениях бота
DISABLE_WEB_PAGE_PREVIEW: bool = False
ACTIVATE_BUTTON_VISIBLE: bool = False
ACTIVATE_BUTTON_TEXT: str = "активировать"
PAYMENT_BALANCE_DESCRIPTION: str = "Пополнение баланса"
PAYMENT_SUBSCRIPTION_DESCRIPTION: str = "Оплата подписки"
PAYMENT_SERVICE_NAME: str = "Интернет-сервис"

View File

@@ -1223,6 +1223,18 @@ async def get_main_menu_text(user, texts, db: AsyncSession):
return base_text
async def handle_activate_button(
callback: types.CallbackQuery,
db_user: User,
db: AsyncSession
):
texts = get_texts(db_user.language)
await callback.answer(
texts.t("ACTIVATION_SUCCESS", "✅ Активация выполнена!"),
show_alert=True,
)
def register_handlers(dp: Dispatcher):
dp.callback_query.register(
@@ -1295,3 +1307,8 @@ def register_handlers(dp: Dispatcher):
handle_add_traffic,
F.data == "buy_traffic"
)
dp.callback_query.register(
handle_activate_button,
F.data == "activate_button"
)

View File

@@ -461,6 +461,12 @@ def get_main_menu_keyboard(
InlineKeyboardButton(text=texts.MENU_SUPPORT, callback_data="menu_support")
)
# Добавляем кнопку активации
if settings.ACTIVATE_BUTTON_VISIBLE:
paired_buttons.append(
InlineKeyboardButton(text=settings.ACTIVATE_BUTTON_TEXT, callback_data="activate_button")
)
paired_buttons.append(
InlineKeyboardButton(
text=texts.t("MENU_INFO", " Инфо"),