я пишу бот по покупке/продаже игровой валюты, после того как пользователь заходит в бота появляется кнопка "купить голду", после чего бот просит ввести сумму в рублях, на которую пользователь хочет купить:
@bot.message_handler(func=lambda message: message.text.isdigit())
def get_values(message):
payboard = types.InlineKeyboardMarkup()
sber = types.InlineKeyboardButton(text='Сбербанк', callback_data='sber')
tinkoff = types.InlineKeyboardButton(text='Тинькофф', callback_data='tinkoff')
alfa = types.InlineKeyboardButton(text='Альфа-банк', callback_data='alfa')
payboard.add(sber)
payboard.add(tinkoff)
payboard.add(alfa)
text_pay = (
f'Сумма: {message.text}₽\n'
f'Вы получаете {int(message.text) * 2}голды\n\n'
f'Выберите способ оплаты:\n'
)
bot.send_message(message.chat.id, text_pay, reply_markup=payboard)
@bot.message_handler(content_types=['text'])
def get_messages(message):
if message.from_user.id not in admins:
menu = types.ReplyKeyboardMarkup(resize_keyboard=True).add('купить голду')
if message.text == '/start':
bot.send_message(message.chat.id, 'привет это бот по продаже голды, для навигации используй кнопки', reply_markup=menu)
print(message.from_user.id)
if message.text == 'купить голду':
menu = types.ReplyKeyboardRemove()
back = types.ReplyKeyboardMarkup(resize_keyboard=True).add('главное меню')
bot.send_message(message.chat.id, 'введите сумму в рублях на которую вы хотите купить', reply_markup=back)
if message.text == 'главное меню':
menu = types.ReplyKeyboardMarkup(resize_keyboard=True).add('купить голду')
bot.send_message(message.chat.id, 'вы в главном меню', reply_markup=menu)
else:
if message.text == '/start':
bot.send_message(message.chat.id, 'Добро пожаловать в админский профиль!')
проблема в том что пользователь сразу может ввести любое число и попасть в меню с выбором банка, я хочу сделать какойнибудь хэндлер который будет срабатывать после сообщения "купить голду" и только с этого момента начинать ждать сумму