@Agzamikail

Как получить call.message.chat.id при нажатии на кнопку инлайн сообщения python telebot?

Как получить call.message.chat.id и call.message.id при нажатии на кнопку инлайн сообщения pythin telebot?
Мне выдает при нажатии на кнопку эту ошибку: 'NoneType' object has no attribute 'chat'

Я пробовал inline_message_id и chat_istance

Код функции при нажатии на сообщение:
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
  
   if call.data=="hard":
      bot.edit_message_text(chat_id=call.message.chat.id,message_id=call.message.id,text='Ваш уровень сложности хардкор\nВы больше не сможете изменить режим')


Код инлайн сообщения:
@bot.inline_handler(lambda query: query.query == 'level')
def query_text(inline_query):
    
    try:
        keyboard = types.InlineKeyboardMarkup()
      
        key_hard = types.InlineKeyboardButton(text="Хардкор", callback_data = "hard")
        keyboard.add(key_hard)
     
        r = types.InlineQueryResultArticle('1', 'Выбрать уровень сложности', types.InputTextMessageContent('Выберете уровень сложности'),reply_markup=keyboard)
        
        bot.answer_inline_query(inline_query.id, [r])

    except Exception as e:
        print(e)
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
В этом случае есть только inline_message_id, но не message.

https://core.telegram.org/bots/api#callbackquery
If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы