Answer the question
In order to leave comments, you need to log in
Python bot on telegram, how to change message in inline keyboard?
I need that after pressing the button under the prediction, the starting inscription "Choose a cookie ..." appears, I don't understand what the mistake is. Runs and then writes this: ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: message identifier is not specified"
# -*- coding: utf8 -*-
import telebot
from telebot import types, TeleBot
import time
from email import message
bot: TeleBot = telebot.TeleBot('***')
@bot.message_handler(content_types=['text'])
def inline_key(a):
if a.text == "Хочу предсказание":
mainmenu = types.InlineKeyboardMarkup( )
key1 = types.InlineKeyboardButton(text='', callback_data='key1')
key2 = types.InlineKeyboardButton(text='', callback_data='key2')
key3 = types.InlineKeyboardButton(text='', callback_data='key3')
mainmenu.add(key1, key2, key3)
bot.send_message(a.chat.id, 'Выбери печеньку...', reply_markup=mainmenu)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
global mainmenu
if call.data == "mainmenu":
mainmenu = types.InlineKeyboardMarkup( )
key1 = types.InlineKeyboardButton(text='', callback_data='key1')
key2 = types.InlineKeyboardButton(text='', callback_data='key2')
key3 = types.InlineKeyboardButton(text='', callback_data='key3')
mainmenu.add(key1, key2, key3)
bot.edit_message_reply_markup(call.message.chat.id, call.message.message_id, reply_markup=mainmenu)
elif call.data == "key1":
next_menu = types.InlineKeyboardMarkup( )
back = types.InlineKeyboardButton(text='✨', callback_data='mainmenu')
next_menu.add(back)
bot.edit_message_text('Лучшее - враг хорошего.', call.message.chat.id, call.message.message_id,
reply_markup=next_menu)
if call.data == "mainmenu":
bot.edit_message_text('Выбери печеньку...', reply_markup=mainmenu)
elif call.data == "key2":
next_menu2 = types.InlineKeyboardMarkup( )
back = types.InlineKeyboardButton(text='✨', callback_data='mainmenu')
next_menu2.add(back)
bot.edit_message_text('Каждому причитается столько счастья, сколько сам в силах подарить.',
call.message.chat.id, call.message.message_id,
reply_markup=next_menu2)
if call.data == "mainmenu":
bot.edit_message_text('Выбери печеньку...', reply_markup=mainmenu)
elif call.data == "key3":
next_menu2 = types.InlineKeyboardMarkup( )
back = types.InlineKeyboardButton(text='✨', callback_data='mainmenu')
next_menu2.add(back)
bot.edit_message_text('Дорога в тысячу миль начинается с первого шага.', call.message.chat.id,
call.message.message_id,
reply_markup=next_menu2)
if call.data == "mainmenu":
bot.edit_message_text('Выбери печеньку...', reply_markup=mainmenu)
bot.polling(none_stop=True, interval=0)
Answer the question
In order to leave comments, you need to log in
# -*- coding: utf8 -*-
bot: TeleBot = telebot.TeleBot('1484311639:AAFoANckqoWvHr0G8XCw6CpGSuf-fXUGBn4')
@bot.message_handler(content_types=['text'])
def inline_key(a):
if a.text = = "I want prediction":
mainmenu = types.InlineKeyboardMarkup( )
key1 = types.InlineKeyboardButton(text='1', callback_data='key1')
key2 = types.InlineKeyboardButton(text='2', callback_data='key2')
key3 = types.InlineKeyboardButton(text='3', callback_data='key3')
mainmenu.add(key1, key2, key3)
bot.send_message(a.chat.id, 'Pick a cookie...', reply_markup=mainmenu)
@ bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.data == "mainmenu":
mainmenu = types.InlineKeyboardMarkup()
key1 = types.InlineKeyboardButton(text='1', callback_data='key1')
key2 = types.InlineKeyboardButton(text='2', callback_data=' key2')
key3 = types.InlineKeyboardButton(text='3', callback_data='key3')
mainmenu.add(key1, key2, key3)
bot.send_message(call.message.chat.id, "Choose a cookie..." , reply_markup=mainmenu)
elif call.data == "key1":
next_menu = types.InlineKeyboardMarkup( )
back = types.InlineKeyboardButton(text='✨', callback_data='mainmenu')
next_menu.add(back)
bot.edit_message_text('Perfect is the enemy of good.', call.message.chat.id, call.message.message_id,
reply_markup=next_menu)
elif call.data == "key2":
next_menu2 = types.InlineKeyboardMarkup( )
back = types .InlineKeyboardButton(text='✨', callback_data='mainmenu')
next_menu2.add(back)
bot.edit_message_text('Everyone deserves as much happiness as they can give.',
call.message.chat.id, call.message .message_id,
reply_markup=next_menu2)
elif call.data == "key3":
next_menu2 = types.InlineKeyboardMarkup( )
back = types.InlineKeyboardButton(text='✨', callback_data='mainmenu')
next_menu2.add(back)
bot.edit_message_text('A journey of a thousand miles begins with the first step.', call.message.chat.id,
call. message.message_id,
reply_markup=next_menu2)
bot.polling(none_stop=True, interval=0)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question