Проблема вот здесь:
elif message.text == 'Оценить тебя':
bot.send_message(message.chat.id, 'Отправьте свою фотографию')
@bot.message_handler(content_types=['photo'])
def get_photo(message):
bot.send_message(message, 'Очень красивая фотография!')
Бот выполняет первый шаг условия, отправка сообщения, но дальше не выполняет саму "оценку"
Весь код ниже:
import telebot
from telebot import types
bot = telebot.TeleBot('TOKEN')
name = 'bot_name'
@bot.message_handler(commands=['start'])
def message_enter(message):
markup = types.ReplyKeyboardMarkup()
get_to_know_me = types.KeyboardButton('О боте')
get_to_know_currency = types.KeyboardButton('Курс валюты')
rate_you = types.KeyboardButton('Оценить тебя')
markup.row(get_to_know_me)
markup.row(get_to_know_currency, rate_you)
bot.send_message(message.chat.id,
f'Привет, {message.from_user.first_name}! Что бы ты хотел сделать?', reply_markup=markup)
bot.register_next_step_handler(message, on_click)
def on_click(message):
if message.text == 'О боте':
bot.send_message(message.chat.id,
f'Меня зовут {name}. Я написан для того, чтобы оценивать твои фотографии и давать тебе свежий курс валют')
elif message.text == 'Курс валюты':
markup = types.InlineKeyboardMarkup()
eur = types.InlineKeyboardButton(text='EUR',
url='')
cny = types.InlineKeyboardButton(text='CNY',
url='')
usd = types.InlineKeyboardButton(text='USD',
url='')
markup.row(eur, cny)
markup.row(usd)
bot.send_message(message.chat.id, 'Курс какой валюты вы бы хотели посмотреть?',
reply_markup=markup)
elif message.text == 'Оценить тебя':
bot.send_message(message.chat.id, 'Отправьте свою фотографию')
@bot.message_handler(content_types=['photo'])
def get_photo(message):
bot.send_message(message, 'Очень красивая фотография!')
bot.register_next_step_handler(message, on_click)
bot.polling(non_stop=True)