Python 使用请求电报库的内联键盘
我试图将键盘插入带有请求python库的telegram posts下,但收到以下错误:Python 使用请求电报库的内联键盘,python,telegram,Python,Telegram,我试图将键盘插入带有请求python库的telegram posts下,但收到以下错误:name'inline\u keyboard'未定义。我正在关注这个文档 我的代码: def SendMessage(chat_id, text, parse_mode, reply_markup): """ :param chat_id integer or string :param text string max 4096 characters
name'inline\u keyboard'未定义
。我正在关注这个文档
我的代码:
def SendMessage(chat_id, text, parse_mode, reply_markup):
"""
:param chat_id integer or string
:param text string max 4096 characters
"""
response = requests.post(url="https://api.telegram.org/botMYTOKENXXX/sendMessage",
data={'chat_id': chat_id, 'text': text, 'parse_mode': 'Html', 'reply_markup': 'array_of_arrays'}).json()
keyboard = inline_keyboard[("text")]
SendMessage("myid", "text" , parse_mode="HTML", reply_markup = keyboard)
内联键盘是一个字典键。您必须在字符串中输入它
还可以使用json库将字典转换为json
import requests,json
token="YourToken"
def SendMessage(chat_id, text, parse_mode, reply_markup):
data={'chat_id': chat_id, 'text': text, 'parse_mode': 'Html', 'reply_markup': reply_markup}
return requests.post(url="https://api.telegram.org/bot"+token+"/sendMessage",data=data).json()
keyboard = json.dumps({'inline_keyboard':[[{"text":"hello","callback_data":"clicked"}]]})
SendMessage("myid", "text" , parse_mode="HTML", reply_markup = keyboard)
好的,我知道了,谢谢。我正在尝试你的代码,但它告诉我:“必须是str,而不是NoneType”@JosephMart检查函数中的数据变量。数据变量中是否有None值?在哪里?在def get_photo(soup)?@JosephMart否,在SendMessage中我不知道该怎么办,抱歉:((