Ошибка: A request to the Telegram API was unsuccessful. Error code: 403. Description: Forbidden: bot can't send messages to bots
После нажатия пользователем in-line клавиатуры, я хочу вывести результат, из функции answer, но мне выдаёт ошибку:
A request to the Telegram API was unsuccessful. Error code: 403. Description: Forbidden: bot can't send messages to bots
Но если я присваиваю следующее состояние(белый скриншот), то все работает. Как сделать так, чтобы все работало и выдавало результат без лишних действий ?
1)
@bot.callback_query_handler(func=lambda call: call.data == 'highprice' or call.data == 'lowprice', state=MyStates.user_choice)
@logger.catch
def high_low_button(call: CallbackQuery):
with bot.retrieve_data(call.message.chat.id, call.message.chat.id) as data:
if call.data == "highprice":
bot.send_message(call.message.chat.id, "<b>Вы выбрали сортировку по возрастанию цены!</b>")
data["user_choice"] = "highprice"
data['sort'] = "PRICE_HIGHEST_FIRST"
data['filters'] = {'availableFilter': 'SHOW_AVAILABLE_ONLY'}
elif call.data == "lowprice":
bot.send_message(call.message.chat.id, "<b>Вы выбрали сортировку по убыванию цены!</b>")
data["user_choice"] = "lowprice"
data['sort'] = "PRICE_LOW_TO_HIGH"
data['filters'] = {'availableFilter': 'SHOW_AVAILABLE_ONLY'}
give_an_answer.answer(call.message, data)
@bot.callback_query_handler(func=lambda call: call.data == 'highprice' or call.data == 'lowprice',
state=MyStates.user_choice)
@logger.catch
def high_low_button(call: CallbackQuery):
with bot.retrieve_data(call.message.chat.id, call.message.chat.id) as data:
if call.data == "highprice":
bot.send_message(call.message.chat.id, "<b>Вы выбрали сортировку по возрастанию цены!</b>")
data["user_choice"] = "highprice"
data['sort'] = "PRICE_HIGHEST_FIRST"
data['filters'] = {'availableFilter': 'SHOW_AVAILABLE_ONLY'}
elif call.data == "lowprice":
bot.send_message(call.message.chat.id, "<b>Вы выбрали сортировку по убыванию цены!</b>")
data["user_choice"] = "lowprice"
data['sort'] = "PRICE_LOW_TO_HIGH"
data['filters'] = {'availableFilter': 'SHOW_AVAILABLE_ONLY'}
bot.set_state(call.from_user.id, MyStates.sort, call.message.chat.id)
bot.send_message(call.message.chat.id, "<b>Продолжить?</b>")
@bot.message_handler(state=MyStates.sort)
@logger.catch
def get_result(message: Message) -> None:
if message.text.isalpha():
with bot.retrieve_data(message.from_user.id, message.chat.id) as data:
give_an_answer.answer(message, data)

