Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用请求电报库的内联键盘_Python_Telegram - Fatal编程技术网

Python 使用请求电报库的内联键盘

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

我试图将键盘插入带有请求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
    """

    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中我不知道该怎么办,抱歉:((