Skip to content
artsmolinPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

tgreader

Автоматически помечает чаты в указанной папке Telegram как прочитанные.
Запускается локально или деплоится в Yandex Cloud Functions.

Python Telethon Yandex Cloud


Как это работает

  1. Авторизуется в Telegram через StringSession (без интерактивного входа).
  2. Находит папку с заданным именем (TELEGRAM_READ_FOLDER_NAME).
  3. Проходит по всем чатам в папке и помечает их прочитанными — включая чаты с ручной меткой непрочитанного.

Быстрый старт

1. Установка зависимостей

python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. Настройка переменных окружения

cp .env.template .env

Отредактируйте .env:

Переменная Описание
TELEGRAM_API_ID Получить на my.telegram.org → API development tools
TELEGRAM_API_HASH Там же
TELEGRAM_STRING_SESSION Строковая сессия Telethon (см. ниже)
TELEGRAM_READ_FOLDER_NAME Имя папки Telegram, чаты в которой нужно читать

Как получить TELEGRAM_STRING_SESSION

PYTHONPATH=. python telegram/auth.py

Запустите один раз — скрипт попросит номер телефона и код из SMS, затем выведет строку сессии. Сохраните её в .env.

3. Запуск

make read-dialogs

Деплой в Yandex Cloud Functions

Сборка архива

make package-yandex

Создаётся файл telegram_read_dialogs.zip.

Загрузка в консоль

  1. Откройте функцию в консоли Yandex Cloud → Редактировать
  2. Метод: Zip-архив → загрузите telegram_read_dialogs.zip
  3. Точка входа: handler_read_dialog.handler
  4. Runtime: python312
  5. Задайте переменные окружения: TELEGRAM_API_ID, TELEGRAM_API_HASH, TELEGRAM_STRING_SESSION, TELEGRAM_READ_FOLDER_NAME

Совет: настройте триггер по расписанию (Cron), чтобы функция запускалась автоматически.


Структура проекта

telegram/
  auth.py             — генерирует StringSession (запускается один раз)
  read_dialogs.py     — основная логика
  settings.py         — конфигурация из переменных окружения

lamda/yandex/
  handler_read_dialog.py  — обёртка для Yandex Cloud Functions

Зависимости

  • Telethon — неофициальный Python-клиент Telegram MTProto API
  • python-dotenv — загрузка .env

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages