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

Keyword as an attribute when using Telegram API

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

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

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

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

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

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

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

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

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

输出

420220883

我想我的问题是重复的!

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

我找到了答案