Python-telegram-bot如何通过url发送InlineKeyboard

时间:2018-08-19 16:23:45

标签: python telegram telegram-bot python-telegram-bot

尝试发送附加了回调keybord的消息,bot不好。给我打电话

TypeError: must be str, not ReplyKeyboardMarkup

找不到任何示例正确的方法。

keyboard = [[InlineKeyboardButton("Выполнено", callback_data='Done')],
                [InlineKeyboardButton("MAC", callback_data='MAC'),
                 InlineKeyboardButton("Phone", callback_data='Phone'),
                 InlineKeyboardButton("История", callback_data='History')]]
    reply_markup = ReplyKeyboardMarkup(keyboard)
    requests.post(url='https://api.telegram.org/bot{blah}/'
                      'sendMessage?chat_id=' + str(query.message.chat_id) + '&text="TEST"&reply_markup=' + reply_markup)

1 个答案:

答案 0 :(得分:0)

首先,您应该使用InlineKeyboardMarkup而不是ReplyKeyboardMarkup来创建由InlineKeyboardButton组成的标记对象。

然后,您可能应该只使用bot对象通过bot.send_message(query.message.chat_id, 'TEST', reply_markup=reply_markup)发送消息。

最后,如果确实需要使用requests来进行手动HTTP请求,则应在requests.post()的{​​{1}}中提供参数。

data