from pyrogram import Client
def find_session_files():
api_id = 29483932
api_hash = '8351a63df18447e868e30b0998c2cce0'
while True:
try:
choice = input(
gr + "Хотите войти в старую сессию? Введите 'y' для входа или 'n' для новой сессии: " + re)
if choice.lower() == 'n':
name = input("Введите название для новой сессии: ")
elif choice.lower() == 'y':
session_files = [file for file in os.listdir() if file.endswith('.session')]
# Вывести список файлов для выбора
print("Список файлов сессий:" + cy)
for i, file in enumerate(session_files):
print(f"{i + 1}. {file}")
file_index = input("Введите номер файла для входа: ")
if file_index.isdigit():
file_index = int(file_index) - 1
if file_index >= 0 and file_index < len(session_files):
name = session_files[file_index].replace('.session', '')
else:
print("Неверный номер файла.")
else:
print("Неверный ввод.")
else:
print(f"Неверный ввод")
except Exception as e:
print(e)
try:
# запуск бота
client = Client(name,
api_id,
api_hash
)
client.start()
# Получение информации о текущем аккаунте
me = client.get_me()
print(f"Ник аккаунта: {me.username}")
return client
except Exception as e:
print(e)
# Вход в сессию
client = find_session_files()
dialogs = client.get_dialogs() # в грёбаной телеге канал это диалог.чат.тип = строка 'ChatType.CHANNEL' просто ШОК
for dialog in dialogs:
if str(dialog.chat.type) == "ChatType.CHANNEL":
if dialog.chat.is_creator: # булевое значение
if dialog.chat.username:
print(f"Your Public Channel: {dialog.chat.title} (@{dialog.chat.username})")
else:
print(f"Your Private Channel: {dialog.chat.title}")
# Отключение от Telegram
input(cy + "нажмите ввод для выхода...")
client.disconnect()
суперлёгкое решение с помощью pyrogram api
api_id и api_hash настоящие, бери-пользуйся
первая функция чтобы тебе легче было входить, специально разработал под свои приложения описанные в моём профиле