При нажатии на кнопку ничего не происходит, а раньше всё работало.
вот код
def show_subscription_options(chat_id):
USER_ID = chat_id # Получаем user_id из chat_id
markup = types.InlineKeyboardMarkup()
# Кнопки для выбора тарифа
for period, price in prices.items():
btn = types.InlineKeyboardButton(text=f"{period.capitalize()} - {price}₽", callback_data=period)
markup.add(btn)
# Кнопка пробного периода только если можно активировать
if can_activate_trial(USER_ID):
trial_btn = types.InlineKeyboardButton(
text="Активировать пробный период",
callback_data="activate_trial"
)
markup.add(trial_btn)
else:
bot.send_message(chat_id, "⚠️ Пробный период уже был использован")
bot.send_message(chat_id, "Выберите тариф:", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: call.data == "activate_trial")
def func_activate_trial(call):
print("[DEBUG]: Кнопка activated_trial нажата!")
try:
USER_ID = call.from_user.id
print(f"[DEBUG]: Активация пробного периода для {USER_ID}")
bot.send_message(USER_ID, "Загрузка...")
if not can_activate_trial(USER_ID):
bot.send_message(USER_ID, "❌ Пробный период уже был активирован")
return
# Сбрасываем данные и активируем
trial_data[USER_ID] = {
'questions': 0,
'symbols': 0,
TRIAL_ACTIVATED_FLAG: True
}
trial_data.save_to_disk()
bot.send_message(USER_ID, "✅ Пробный период активирован! Доступно: 10 вопросов / 10 000 символов")
# Обновляем интерфейс
bot.edit_message_reply_markup(
chat_id=call.message.chat.id,
message_id=call.message.message_id,
reply_markup=None
)
except Exception as e:
print(f"Ошибка активации: {str(e)}")
bot.answer_callback_query(call.id, "❌ Ошибка активации", show_alert=True)
def can_activate_trial(user_id):
data = trial_data[user_id]
# Можно активировать только если не активирован ИЛИ активирован но не использован
return not data[TRIAL_ACTIVATED_FLAG] or \
(data[TRIAL_ACTIVATED_FLAG] and not is_trial_active(user_id))