vera_ira
@vera_ira
Делаю приложение по изучению Иврит (Python Kotlin)

Как из MessageEntity достать нужные данные(Telegram bot, Python)?

Есть у меня объект. примерно такой.

call.message= {'content_type': 'text', 
                                                           'message_id': 3704, 
                                                           'from_user': {'id': 000000000, 
                                                                               'is_bot': True,
                                                                               'first_name': 'testbot',
                                                                               'username': 'test_bot', 
                                                                               'last_name': None, 
                                                                                'language_code': None},
                                                            'date': 1534805095,
                                                            'chat': {'type': 'private', 
                                                                      'last_name': None, 
                                                                       'first_name': 'Myza', 
                                                                       'username': 'vera_ira',
                                                                       'id': 000000000,
                                                                       'title': None, 
                                                                       'all_members_are_administrators': None,
                                                                       'photo': None},
                                                            ....   ....
                                                           'json': {'message_id': 3704, 
                                                                      'from': {'id': 000000000,
                                                                                  'is_bot': True,
 	                                                                          'first_name': 'Irisbot',
                                                                                  'username': 'Via00000000000_bot'}, 
                                                                       'chat': {'id': 000000000, 
                                                                                 'first_name': 'Myza',
                                                                                  'username': 'vera_ira',
 	                                                                          'type': 'private'}, 
                                                                       'date': 1534805095, 
                                                                       'text': 'тттт ттттттттт ттттт тт т тттттт тттт ооооооо ттт тттт ттт.', 
                                                                        'entities': [{'offset': 32, 'length': 7, 'type': 'bold'}]}}


Как из него достать 32 и 7 (из последней строки). Использую:
print(call.message.json.entities.offset)
print(call.message.json.entities.length)


Выдает:
AttributeError: 'dict' object has no attribute 'entities'


Но при этом call.message.json принтит без ошибок.
  • Вопрос задан
  • 2659 просмотров
Решения вопроса 1
Bobsans
@Bobsans
Full-Stack Developer
Попробуй
print(call.message.json.get('entities')[0].offset)
или
print(call.message.json.get('entities')[0].get('offset'))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы