@d3cf7fca39bdeb45

Как мне получить элемент из списка TELETHON?

При использовании функции GetFullUserRequest, я получаю результат:

UserFull(full_user=UserFull(id=254197092, settings=PeerSettings(report_spam=False, add_contact=False, block_contact=False, share_contact=False, need_contacts_exception=True, report_geo=False, autoarchived=False, invite_members=False, request_chat_broadcast=False, geo_distance=None, request_chat_title=None, request_chat_date=None), notify_settings=PeerNotifySettings(show_previews=None, silent=None, mute_until=None, ios_sound=None, android_sound=None, other_sound=None), common_chats_count=0, blocked=False, phone_calls_available=True, phone_calls_private=False, can_pin_message=True, has_scheduled=False, video_calls_available=True, voice_messages_forbidden=False, about='twitch.tv/Le__Rane', profile_photo=Photo(id=1091768197334542254, access_hash=-3739536064145349836, file_reference=b'\x00c\xe5<}\xa8\x12:\xa2\x82\xb2\x7f0\xfc\x0b\x19\xcd\x0b\xc8\xb6\xbb', date=datetime.datetime(2021, 12, 22, 7, 48, 19, tzinfo=datetime.timezone.utc), sizes=[PhotoSize(type='a', w=160, h=160, size=8303), PhotoSize(type='b', w=320, 
h=320, size=29484), PhotoSize(type='c', w=640, h=640, size=122227), PhotoStrippedSize(type='i', bytes=b"\x01((\xb2\xf1\xb7\xf0\xb9\x1f\xadF\xcf$hY\xca\x90\x07\xd2\xad\x1cT2\xc4$P\xa4q\x9a\x00\xcc\x9a\xf0\xc9\xc6\x05C\x1c\x8c\xa7+\x91\x8e\x98\xab\xe6\xde0\xd8*\r=R5\x18\xf9@\xa0\x0b\xf6\xced\xb7G=H\xe6\x8aX\x14$*\x07J(\x02<\xf0j9\x198Fln\xce9\xe6\xab}\xac\xf9d\xe0du\xaaS\xce^U\x94pE\x00X[}\x93\x82\x1b#4\xe1l\xbeyb\xc4\xfbUs7\x98\t\xce\x00\xa5\x17\x1eP\xe4\xe7\x8c\x8a\x00\xdb\x8cb5\xc7\xa5\x15KO\xbf\x13\xa7\x96\xc3\x0e\xa3\xb7qE\x00Uu\x84\x0c`\x9e\xf9\xcdE\x1d\xb8\x91Ifn\xbcQE\x00E2,x\xdb\xb8v&\x98\x85ps\x96'\x8e{QE\x008;C \x92<\x0fJ(\xa2\x80?")], dc_id=2, has_stickers=False, video_sizes=[]), bot_info=None, pinned_msg_id=None, folder_id=None, ttl_period=None, theme_emoticon=None, private_forward_name=None, bot_group_admin_rights=None, bot_broadcast_admin_rights=None, premium_gifts=[PremiumGiftOption(months=12, currency='RUB', amount=219900, bot_url='https://t.me/$premgift254197092_12_488ac9640c254d21bf', store_product='org.telegram.telegramPremium.twelveMonths'), PremiumGiftOption(months=6, currency='RUB', amount=119900, bot_url='https://t.me/$premgift254197092_6_7b48e5741de1d80056', store_product='org.telegram.telegramPremium.sixMonths'), PremiumGiftOption(months=3, currency='RUB', amount=91900, bot_url='https://t.me/$premgift254197092_3_0843c7428bd1d30cf2', store_product='org.telegram.telegramPremium.threeMonths')]), chats=[], users=[User(id=254197092, is_self=False, contact=False, mutual_contact=False, deleted=False, bot=False, bot_chat_history=False, bot_nochats=False, verified=False, restricted=False, min=False, bot_inline_geo=False, support=False, scam=False, apply_min_photo=True, fake=False, bot_attach_menu=False, premium=False, attach_menu_enabled=False, access_hash=4204312494546083334, first_name='Лёва', last_name=None, username='Le_Rane', phone=None, photo=UserProfilePhoto(photo_id=1091768197334542254, dc_id=2, has_video=False, stripped_thumb=b'\x01\x08\x08\r\xc4?jG \xa8S\xd4\x83E\x14P\x07'), status=UserStatusOffline(was_online=datetime.datetime(2023, 2, 9, 15, 15, 38, tzinfo=datetime.timezone.utc)), bot_info_version=None, restriction_reason=[], bot_inline_placeholder=None, lang_code=None, emoji_status=None, usernames=[])])


Скриншоты кода запрещены. Удалено модератором.

Из всей этой кучи мне нужно получить только first_name, last_name и username.
Если воспользоваться методом из документации:
full = client(GetFullUserRequest('username'))
bio = full.about


То выдаст ошибку:
AttributeError: 'UserFull' object has no attribute 'about'


Но добавив .full_user перед about bio = full.full_user.about, поле о себе выводится.
Теперь если попробовать about заменить на first_name или другое значение, я получаю ошибку:
AttributeError: 'UserFull' object has no attribute 'first_name'


Выведя результат функции full.full_user я увидел что там просто даже отсутствуют необходимые мне элементы.

Что можно сделать? Может быть есть способ вывести нужные мне элементы без использования Telethon?
  • Вопрос задан
  • 322 просмотра
Решения вопроса 1
@igor6130
Все это происходит из-за того, что нужные вам данные находятся на разных уровнях. Чтобы понять, как с этим работать, вам нужно прочитать учебную информацию по работе с классами в питоне.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы