Skip to content

vnrogoza/Zerocoder_0912

Repository files navigation

Telegram Bot на Telethon

Telegram-скрипт на Python для сбора и мониторинга сообщений с использованием библиотеки Telethon.

Возможности

  • ✅ Подключение к Telegram через Telethon
  • ✅ Получение списка доступных диалогов (чатов)
  • ✅ Сбор последних N сообщений из выбранного чата
  • ✅ Автоматическая обработка ошибок и переподключений
  • ✅ Логирование всех действий
  • ✅ Сохранение сообщений в локальную базу SQLite
  • ✅ Обработка дублей сообщений
  • ✅ Асинхронный обработчик новых сообщений в реальном времени
  • ✅ Вывод логов в консоль

Установка

  1. Убедитесь, что у вас установлен Python 3.7+

  2. Активируйте виртуальное окружение:

    # Windows PowerShell
    .\venv\Scripts\Activate.ps1
    
    # Windows CMD
    .\venv\Scripts\activate.bat
    
    # Linux/Mac
    source venv/bin/activate
  3. Установите зависимости:

    pip install -r requirements.txt

Настройка

  1. Получите API credentials на https://my.telegram.org/apps:

    • Зайдите на сайт
    • Войдите с вашим номером телефона
    • Создайте новое приложение
    • Скопируйте api_id и api_hash
  2. Откройте bot/config.py и замените значения:

    API_ID = 12345678  # Ваш api_id
    API_HASH = 'your_api_hash_here'  # Ваш api_hash
    SESSION_NAME = 'telegram_session'  # Имя файла сессии (можно оставить)

Использование

Запустите скрипт:

python main.py

При первом запуске:

  1. Введите номер телефона (в международном формате, например: +79991234567)
  2. Введите код подтверждения, который придет в Telegram
  3. Если у вас включена двухфакторная аутентификация, введите пароль 2FA

После авторизации скрипт:

  1. Получит список ваших чатов
  2. Соберет последние 100 сообщений из первого чата
  3. Запустит live-слушатель новых сообщений

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

.
├── main.py              # Точка входа для запуска Telegram бота
├── gigachat_cli.py      # CLI-инструмент для GigaChat (альтернативный запуск)
├── bot/                 # GigaChat CLI и Telegram-бот на telebot
│   ├── __init__.py
│   ├── main.py          # CLI-приложение для GigaChat
│   ├── main_telebot.py  # Telegram-бот, отвечающий через GigaChat
│   ├── gigachat.py      # Модуль для работы с GigaChat API
│   └── utils.py         # Вспомогательные функции
├── requirements.txt     # Зависимости проекта
├── README.md           # Документация Telegram бота
├── GIGACHAT_README.md   # Документация GigaChat CLI
├── telegram_session.session  # Файл сессии (создается автоматически)
├── telegram_messages.db      # База данных SQLite (создается автоматически)
└── telegram_bot.log          # Файл логов (создается автоматически)

Дополнительные инструменты

GigaChat CLI

В проекте также доступен CLI-инструмент для генерации выжимок текста через GigaChat API.

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

python gigachat_cli.py summary --text "Ваш текст"
python gigachat_cli.py summary --file messages.txt

Подробная документация: GIGACHAT_README.md

База данных

База данных SQLite (telegram_messages.db) содержит таблицу messages:

  • id - ID сообщения в Telegram
  • chat_id - ID чата
  • sender - Имя отправителя
  • text - Текст сообщения
  • date - Дата и время сообщения

Дубли сообщений автоматически пропускаются благодаря уникальному ограничению (id, chat_id).

Логирование

Все действия логируются в:

  • Консоль (stdout)
  • Файл telegram_bot.log

Уровни логирования:

  • INFO - основная информация
  • DEBUG - детальная отладочная информация
  • ERROR - ошибки

Остановка

Для остановки скрипта нажмите Ctrl+C.

Примечания

  • Файл сессии (telegram_session.session) сохраняется локально, повторная авторизация не требуется
  • База данных создается автоматически при первом запуске
  • Скрипт обрабатывает rate limits Telegram API автоматически
  • Поддерживается двухфакторная аутентификация (2FA)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors