Почему Python Telethon не использует сессии?

Написал скрипт для парсинга телеграмм-каналов, теперь telethon при входе выкидывает со всех сессий, а если не выкидывает и вводишь код, то создает сессию, скрипт отрабатывает, но при следующем запуске кода - не использует эту же сессию.
api_id = 23917780
api_hash = '1a07bbf04cfcc1a1f388154339ca6a7e'

client = TelegramClient('test', api_id, api_hash)
  • Вопрос задан
  • 1287 просмотров
Пригласить эксперта
Ответы на вопрос 2
@BaronMraka
Все дело в системе безопасности telegram когда у тебя несколько сессий с одного ip то остается только последняя, остальные умирают, добавь имя устройства
client = TelegramClient('session_name', api_id, api_hash,device_model='iPhone 13 Pro Max',system_version="4.16.30-vxhello")
Ответ написан
Комментировать
@eduardberlin
В данном коде нет проблем, но есть возможность, что вы забыли выполнить некоторые важные шаги при работе с Telethon. Чтобы использовать сессии с Telethon, убедитесь, что вы выполнили следующие шаги:

Импортируйте необходимые модули:

from telethon import TelegramClient, events

Создайте объект TelegramClient с указанием файла сессии (в данном случае 'test.session'):
python
Copy code
api_id = 23917780
api_hash = '1a07bbf04cfcc1a1f388154339ca6a7e'

client = TelegramClient('test', api_id, api_hash)
Выполните асинхронное подключение и авторизацию, если требуется:

async def main():
await client.start()
# Ваш код для работы с каналами

# Запуск асинхронной функции
client.loop.run_until_complete(main())

Убедитесь, что вы корректно завершаете работу с клиентом, когда ваш код закончит выполнение:

client.disconnect()

Пример полного скрипта:

python
Copy code
from telethon import TelegramClient, events

api_id = 23917780
api_hash = '1a07bbf04cfcc1a1f388154339ca6a7e'

client = TelegramClient('test', api_id, api_hash)

async def main():
await client.start()

# Ваш код для работы с каналами

await client.disconnect()

# Запуск асинхронной функции
client.loop.run_until_complete(main())
Если вы правильно выполнили все эти шаги, Telethon должен использовать сессию из указанного файла, и вы не будете выкидываться из других сессий. Если все равно возникают проблемы, проверьте, нет ли других активных сессий с тем же файлом сессии. Если сессия используется в нескольких местах одновременно, это может вызвать проблемы.
Ответ написан
Ваш ответ на вопрос

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

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