Ключевое слово как атрибут при использовании Telegram API - PullRequest
0 голосов
/ 02 марта 2019

В 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

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Полагаю, мой вопрос дублирован!

Проблема была исправлена ​​автором библиотеки .Я должен был просто изменить from на from_user!

Я нашел ответ здесь .

0 голосов
/ 02 марта 2019

Размещенная вами структура данных не является ни действительным JSON, ни действительным диктом.После преобразования его в действительный диктовку вы можете легко получить 'id'

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

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

Output

420220883
...