尝试发送附加了回调键框的消息,机器人不好。告诉我
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)发布于 2018-08-20 10:22:22
首先,您应该使用InlineKeyboardMarkup而不是ReplyKeyboardMarkup来爬取由InlineKeyboardButton组成的标记对象。
然后,您可能只需使用bot对象来发送带有bot.send_message(query.message.chat_id, 'TEST', reply_markup=reply_markup)的消息。
最后,如果你真的需要使用requests来做手工的超文本传输协议请求,你应该在requests.post()的data中提供参数。
import json
import requests
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
keyboard = [[InlineKeyboardButton("Выполнено", callback_data='Done')],
[InlineKeyboardButton("MAC", callback_data='MAC'),
InlineKeyboardButton("Phone", callback_data='Phone'),
InlineKeyboardButton("История", callback_data='History')]]
reply_markup = InlineKeyboardMarkup(keyboard)
data = {"chat_id": query.message.chat_id,
"text": "TEST",
"reply_markup": json.dumps(reply_markup.to_dict())}
requests.post(url='https://api.telegram.org/bot{blah}/sendMessage', data=data)https://stackoverflow.com/questions/51919653
复制相似问题