使用Telegram API时关键字作为属性

问题描述 投票:1回答:2

在Telegram中,当用户按下按钮时,机器人以JSON接收此信息:

'update':
{
    'callback_query':
    {
        'from':
        {
            'id':420220883
        }
    }
}

这个JSON对象中有更多信息,但我只对id部分感兴趣。

现在,当我想像update.callback_query.from.id一样访问它时,它显然会给出SyntaxError错误,因为from是一个Python关键字。

所以我的问题是;我该如何使用这些信息?

请注意,我尝试使用它像字典update['callback_query']['from']['id'],但它给出了一个奇怪的错误。

enter image description here

python telegram telegram-bot python-telegram-bot
2个回答
0
投票

您发布的数据结构不是有效的JSON,也不是有效的dict。将其转换为有效的字典后,您可以轻松获得“id”

data = {'update':
    {
        'callback_query':
            {
                'from':
                    {
                        'id': 420220883
                    }
            }
    }}

print(data['update']['callback_query']['from']['id'])

产量

420220883

0
投票

我想我的问题是重复的!

问题已由library的作者修复。我应该简单地将from改为from_user

我找到了答案here

© www.soinside.com 2019 - 2024. All rights reserved.