Редактирование встроенных кнопок клавиатуры с нажатием кнопки встроенной клавиатурыPython

Программы на Python
Гость
Редактирование встроенных кнопок клавиатуры с нажатием кнопки встроенной клавиатуры

Сообщение Гость »


Я хочу, чтобы после того, как пользователь нажал на мои встроенные кнопки клавиатуры в первом всплывающем меню с командой «Пуск», я мог редактировать свое сообщение и встроенные кнопки клавиатуры. Я хочу сгруппировать некоторые функциональные кнопки под первыми кнопками в команде запуска. но я не могу найти подходящую функцию и синтаксис для своего кода

что-то вроде этого бота: https://t.me/vpcorebot

Здесь я создал команду запуска с помощью встроенных кнопок клавиатуры:

async def start (обновление: обновление, контекст: ContextTypes.DEFAULT_TYPE): ключи = [ [InlineKeyboardButton('1', url='google.com'), InlineKeyboardButton('2', url='yahoo.com')], [InlineKeyboardButton('3', callback_data='3'),InlineKeyboardButton('4', url='duckduckgo.com')], [InlineKeyboardButton('5',callback_data='5')] ] разметка = InlineKeyboardMarkup(ключи) с open('main_photo.jpg', 'rb') как f: img = f.read() ожидайте context.bot.send_photo( chat_id=update.efficient_chat.id, фото = изображение, подпись="Добро пожаловать", ответить_to_message_id=update.efficient_message.id, ответ_маркуп=разметка ) это работает, и я попытался использовать обратный вызов для редактирования или отправки нового сообщения с новыми кнопками и добавил кнопку, если пользователь хочет вернуться, чтобы начать командные кнопки

async def callback_query_handler(обновление: обновление, контекст: ContextTypes.DEFAULT_TYPE): ключи = [[InlineKeyboardButton('back', callback_data='0')]] МК = InlineKeyboardMarkup(ключи) запрос = update.callback_query call_back_data = запрос.данные если call_back_data == 3: с open('services.jpg', 'rb') как f: img = f.read() ожидайте context.bot.send_photo( chat_id=update.efficient_chat.id, фото = изображение, подпись = шапка, ответить_to_message_id=update.efficient_message.id, ответ_маркуп=МК ) элиф call_back_data == 0: начинать() но это не сработало, и Python не выдал никаких ошибок

я использую версию 20.2 python_telegram_bot
и вот как я заканчиваю свой код, если вам интересно:
def main(): app = Application.builder().token(TOKEN).read_timeout(600).get_updates_read_timeout(600).write_timeout(600).get_updates_write_timeout(600).pool_timeout(600).get_updates_pool_timeout(600).connect_timeout(600).get_updates_connect_timeout( 600).сборка() app.add_handlers( [ CommandHandler('старт', старт), CallbackQueryHandler (callback_query_handler) ] ) app.run_polling() если __name__=='__main__': основной()

Вернуться в «Python»