Задать вопрос
  • Python Telegram Bot Inline Keyboard. Как сделать так, чтобы код первой кнопки не лез в код второй?

    @Novichek2000 Автор вопроса
    Теперь у меня не удаляются кнопки и не вылезает оповещение об удалении:

    @bot.callback_query_handler(func=lambda call: call.data in ['good', 'bad', 'good1', 'bad1'])
    def callback_inline(call):
    	try:
    		if call.message:
    			if call.data == 'good':
    				bot.send_message(call.message.chat.id, 'Вот и отличненько ')
    			elif call.data == 'bad':
    				bot.send_message(call.message.chat.id, 'Бывает ')
    			elif call.data == 'good1':
    				bot.send_message(call.message.chat.id, 'Славненько...')
    			elif call.data == 'bad1':
    				bot.send_message(call.message.chat.id, 'Сорян, платки кончились...')
    
                # удаление встроенных кнопок
    			bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=" Как дела?",
    			reply_markup=['good', 'bad'])
    			bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Не пиши такое больше",
    			reply_markup=['good1', 'bad1'])
    
                # показать оповещение
    			bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
    				text="Преобразовано...")
    
    	except Exception as e:
    		print(repr(e))
    
    @bot.message_handler(content_types=['text'])
    def get_text_messages(message):
    
    	if message.text == "Как дела?":
    
    		markup3 = types.InlineKeyboardMarkup(row_width=2)
    		item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
    		item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')
     
    		markup3.add(item1, item2)
     
    		bot.send_message(message.chat.id, text='Отлично, сам(-а) как?', reply_markup=markup3)
    
    	if message.text == "Люблю тебя":
     
    		markup4 = types.InlineKeyboardMarkup(row_width=2)
    		item1 = types.InlineKeyboardButton("Уйти...", callback_data='good1')
    		item2 = types.InlineKeyboardButton("Вытереть слезки", callback_data='bad1')
     
    		markup4.add(item1, item2)
     
    		bot.send_message(message.chat.id, text='Выбрать действие:', reply_markup=markup4)
    
    bot.polling(none_stop=True, interval=0)
    Ответ написан
    Комментировать
  • Как отредактировать сообщение используя bot.edit_message_text?

    @Novichek2000
    У меня кнопка 1 работает, а кнопка 2 через одно место. Что может быть не так ?((((

    @bot.callback_query_handler(func=lambda call: True)
    def callback_inline(call):
    try:
    if call.message:
    if call.data == 'good':
    bot.send_message(call.message.chat.id, 'Вот и отличненько ')
    if call.data == 'bad':
    bot.send_message(call.message.chat.id, 'Бывает ')

    # удаление встроенных кнопок
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text=" Как дела?",
    reply_markup=markup3)

    # показать оповещение
    bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
    text="Преобразовано...")

    except Exception as e:
    print(repr(e))

    def callback_inline(call):
    try:
    if call.message:
    if call.data == 'good1':
    bot.send_message(call.message.chat.id, 'Бывай...')
    if call.data == 'bad1':
    bot.send_message(call.message.chat.id, 'Сорян, платки кончились...')

    # удаление встроенных кнопок
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Не пиши такое больше",
    reply_markup=markup4)

    # показать оповещение
    bot.answer_callback_query(callback_query_id=call.id, show_alert=False,
    text="Преобразовано...!")

    except Exception as e:
    print(repr(e))

    @bot.message_handler(content_types=['text'])
    def get_text_messages(message):

    if message.text == "Как дела?":

    markup3 = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton("Хорошо", callback_data='good')
    item2 = types.InlineKeyboardButton("Не очень", callback_data='bad')

    markup3.add(item1, item2)

    bot.send_message(message.chat.id, text='Отлично, сам(-а) как?', reply_markup=markup3)

    if message.text == "Люблю тебя":

    markup4 = types.InlineKeyboardMarkup()
    item1 = types.InlineKeyboardButton("Успокоиться", callback_data='good1')
    item2 = types.InlineKeyboardButton("Вытереть слезки", callback_data='bad1')

    markup4.add(item1, item2)

    bot.send_message(message.chat.id, text='Выбрать действие:', reply_markup=markup4)

    bot.polling(none_stop=True, interval=0)
    Ответ написан
    Комментировать