def get_linked_channel(client, username):
try:
user = client.get_entity(username) # Получаем объект User по имени пользователя
print(user)
if hasattr(user, 'linked_chat_id') and user.linked_chat_id:
linked_channel_id = user.linked_chat_id
try:
linked_channel = client.get_entity(linked_channel_id)
print(f"Ссылка на привязанный канал пользователя {username}: {linked_channel.username}")
# или
print(f"ID привязанного канала пользователя {username}: {linked_channel_id}")
invite_link = client(ExportChatInviteRequest(linked_channel))
print(f"Invite link: {invite_link.link}")
return invite_link.link # Возвращаем invite link
except ValueError:
print(f"Не удалось получить информацию о привязанном канале (возможно, он приватный). ID: {linked_channel_id}")
try: # пробуем получить link через entity
link = client.get_entity(PeerChannel(linked_channel_id))
return f"t.me/{link.username}" if link.username is not None else None
except Exception as e:
print(f"Ошибка: {e}")
return None
else:
print(f"У пользователя {username} нет привязанного канала.")
return None
except ValueError:
print(f"Пользователь {username} не найден.")
return None
except Exception as e:
print(f"Произошла ошибка: {e}")
return None
chat gpt выдал такую вот функцию. Я так понимаю, у user в принципе нет атрибута linked_chat_id