Profile & Members

Profile builder path:

Types: Profile & Members

User profile

Profile builder path:

  • backend/tg_client/dialogs/domain/user_profile.py
  • backend/tg_client/dialogs/tdlib/services/profile_service.py
  • backend/tg_client/dialogs/tdlib/normalizers/profile_normalizer.py

Common fields visible across profile/member payloads:

  • user_id
  • first_name
  • last_name
  • full_name
  • username
  • phone_number
  • parsed_status
  • last_seen
  • avatar file references

Self profile sync result

Source:

  • backend/tg_client/dialogs/services/userbot_profile_sync.py
  • backend/tg_client/dialogs/tdlib/normalizers/self_profile_normalizer.py

Result family contains persisted UserBot data such as display name, username, premium state, photo URL/path, and related profile metadata.

Member result

MembershipService + MemberNormalizer build:

  • get_chat_members
  • get_chat_recent_actions
  • blocklist/member references reused in invite/admin flows

Typical member fields:

  • sender reference (user or chat)
  • avatar refs
  • profile basics
  • member status / rights
  • recent action payloads with embedded message items when present

Bootstrap results

BootstrapService + BootstrapNormalizer build:

  • create_supergroup_chat result (chat + optional item)
  • import_contacts result (requested_contact + contacts)
  • search_user currently returns raw TDLib search result without a dedicated typed normalizer

Shared compact user reference

Source:

  • backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py

This compact reference is reused by membership/admin/invite flows to avoid divergent user payload shapes.