Answer the question
In order to leave comments, you need to log in
What is the mistake explain?
The console gives no errors, but nothing happens. Point to it please
import telebot
from telebot import types
from telebot.types import InlineKeyboardMarkup
bot = telebot.TeleBot('token')
@bot.message_handler(commands=['start'])
def get_info(message):
keyboard = types.InlineKeyboardMarkup()
key_buy = types.InlineKeyboardButton(text='Платная', callback_data='/buy')
key_free = types.InlineKeyboardButton(text='Бесплатная', callback_data='/free')
keyboard.add(key_buy, key_free)
bot.send_message(message.chat.id,'Я на связи. Какой подпиской ты будешь пользоваться?\n В доступе платная подписка (129 руб/месяц) либо бесплатная. Для подробностей напиши /help.',reply_markup=keyboard)
@bot.callback_query_handler(func = lambda call: True)
def subscribe(call):
if call.data == '/buy':
keyb = types.InlineKeyboardMarkup()
key_yes = types.InlineKeyboardButton(text='Да, я уверен', callback_data='/yes')
key_no = types.InlineKeyboardButton(text='Нет, я передумал', callback_data='/no')
keyb.row(key_yes, key_no)
bot.send_message(call.message.chat.id, 'Вы выбрали купить подписку. Она стоит 129 рублей в месяц.\nВы уверены?', reply_markup=keyb)
if call.data == '/yes':
bot.send_message(call.message.chat.id, 'КУПИТЬ')
elif call.data == '/no':
bot.send_message(call.message.chat.id, 'Вы пользуетесь бесплатной версией, но всегда можете купить у нас платную версию.')
elif call.data == '/free':
bot.send_message(call.message.chat.id, 'Вы пользуетесь бесплатной версией, но всегда можете купить у нас платную версию. Подробности о ней: /help.')
bot.answer_callback_query(callback_query_id=call.id)
bot.polling()
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question