@abittov

Почему не редактируется сообщение inline кнопкой Telebot?

Вроде, всё правильно, но выдаёт ошибку
ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: message to edit not found"

Вот код:
@bot.callback_query_handler(func=lambda call: True)
    def handler_call(call):
        chat_id = call.message.from_user.id
        message_id = call.message.message_id
        if call.data == 'start_shift':
            print(chat_id)
            print(message_id)
            bot.edit_message_text(
                chat_id=chat_id,
                message_id=message_id,
                text='Вы начали смену',
                reply_markup=menu.end_shift_k)

            base.set_active(chat_id,call.message.from_user.username)

Сообщение, которое должно редактироваться:
@bot.message_handler(commands=['start'])
    def start_command(msg):

        if msg.from_user.id == settings.admin_id:
            bot.send_message(msg.from_user.id,'Меню админа: ',reply_markup=menu.admin_k)
  • Вопрос задан
  • 900 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Потому что в параметр chat_id нужно передавать ID чата (call.message.chat.id), а вы передаете ID бота (call.message.from_user.id).
Так как message в call является сообщением, к которому прикреплена кнопка, а сообщение отправлял вам бот, то и отправителем является ID бота, а не ID вашего чата.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы