@DaniPyzinski

Не работает определёная часть кода бота?

Можете помочь пожалуйста с ботом не работает вот эта чать кода.Можете помочь с решением этой проблемы.Код ниже
if inputMessage == 'press':
        bot.sendMessage(chat_id, "Кнопка 1 .")
    if inputMessage == 'press2':
        bot.sendMessage(chat_id,'Кнопка  2.')
    if inputMessage == 'press3':
        bot.sendMessage(chat_id, 'Кнопка 2.')


import time
import telepot
from telepot.loop import MessageLoop
from telepot.namedtuple import InlineKeyboardMarkup, InlineKeyboardButton

def on_chat_message(chat_id, inputMessage):
    
    if inputMessage == '/start':   
        keyboard = InlineKeyboardMarkup(inline_keyboard=[
                [InlineKeyboardButton(text='Кнопка 1', callback_data='press')],
                [InlineKeyboardButton(text='Кнопка 2', callback_data='press2')],
                [InlineKeyboardButton(text='Кнопка  3', callback_data='press3')],
               ])

    bot.sendMessage(chat_id, 'Бот привет.', reply_markup=keyboard)
    
    if inputMessage == 'press':
        bot.sendMessage(chat_id, "Кнопка 1 .")
    if inputMessage == 'press2':
        bot.sendMessage(chat_id,'Кнопка  2.')
    if inputMessage == 'press3':
        bot.sendMessage(chat_id, 'Кнопка 2.')


def on_callback_query(msg):
    query_id, from_id, query_data = telepot.glance(msg, flavor='callback_query')
    print('Callback Query:', query_id, from_id, query_data)
    if query_data:
    	on_chat_message(from_id, query_data)

TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxx'  # get token from command-line

def handler(msg):
	context_type, chat_type, chat_id = telepot.glance(msg)
	inputMessage = msg['text']
	if inputMessage:
		on_chat_message(chat_id, inputMessage)

bot = telepot.Bot(TOKEN)
MessageLoop(bot, {'chat': handler,
                  'callback_query': on_callback_query}).run_as_thread()
print('Listening ...')

while 1:
    time.sleep(10)
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 1
photozoom
@photozoom
После нажатия на инлайн кнопку значение callback_data кнопок попадает в массив msg['callback_query']['data'] а не в msg['text'].
Ответ написан
Ваш ответ на вопрос

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

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