/TelegramChannelCleaner

Script to batch clean all posts from Telegram channel

Primary LanguagePython

🧹 Telegram Channel Cleaner

Скрипт для полной очистки сообщений в Telegram канале с улучшенной обработкой ошибок и логированием.

📋 Возможности

  • ✅ Безопасное удаление всех сообщений в канале
  • ✅ Подсчет сообщений перед удалением
  • ✅ Подтверждение операции пользователем
  • ✅ Обработка лимитов Telegram API
  • ✅ Подробное логирование процесса
  • ✅ Поддержка двухфакторной аутентификации
  • ✅ Простой запуск двойным кликом на macOS

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

Шаг 1: Получение API ключей

  1. Перейдите на https://my.telegram.org
  2. Войдите по номеру телефона
  3. Перейдите в "API Development Tools"
  4. Заполните форму:
    • App title: TelegramCleaner
    • Short name: cleaner
  5. Сохраните полученные:
    • API ID (число)
    • API Hash (строка)

Шаг 2: Настройка скрипта

  1. Скопируйте .env.example в .env:

    cp .env.example .env
  2. Откройте .env и заполните:

    API_ID=ваш_api_id
    API_HASH=ваш_api_hash
    CHANNEL_USERNAME=@ваш_канал

Шаг 3: Запуск

Вариант 1: Двойной клик (macOS)

  1. Сделайте файл исполняемым:
    chmod +x run_cleaner.command
  2. Дважды кликните на run_cleaner.command

Вариант 2: Командная строка

# Установка зависимостей
pip install -r requirements.txt

# Запуск скрипта
python3 telegram_cleaner.py

🔍 Как найти ID канала

Способ 1: Через имя канала

Используйте @имя_канала или https://t.me/имя_канала в файле .env:

CHANNEL_USERNAME=@your_channel
# или
CHANNEL_USERNAME=https://t.me/your_channel

Способ 2: Через ID канала

  1. Добавьте бота @userinfobot в ваш канал
  2. Отправьте любое сообщение в канал
  3. Бот покажет ID канала (например: -1001234567890)
  4. Используйте этот ID:
    CHANNEL_USERNAME=-1001234567890

Способ 3: Через веб-версию Telegram

  1. Откройте канал в веб-версии Telegram
  2. Посмотрите на URL: https://web.telegram.org/k/#-1001234567890
  3. Число после # - это ID канала

⚠️ Важные моменты

  • Необратимость: Удаленные сообщения восстановить нельзя
  • Права администратора: Вы должны быть админом канала с правами на удаление сообщений
  • Лимиты API: Скрипт автоматически обрабатывает лимиты Telegram
  • Безопасность: API ключи хранятся локально в файле .env

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

TelegramCleaner/
├── telegram_cleaner.py      # Основной скрипт
├── run_cleaner.command      # Запуск для macOS
├── requirements.txt         # Зависимости
├── .env.example            # Пример конфигурации
├── .env                    # Ваша конфигурация (создается вами)
├── telegram_cleaner.log    # Лог файл (создается автоматически)
└── README.md              # Эта инструкция

🐛 Решение проблем

Ошибка "SessionPasswordNeededError"

  • У вас включена двухфакторная аутентификация
  • Введите пароль от аккаунта при запросе

Ошибка "ChatAdminRequiredError"

  • У вас нет прав администратора в канале
  • Попросите владельца канала дать вам права на удаление сообщений

Ошибка "FloodWaitError"

  • Превышен лимит запросов к API
  • Скрипт автоматически ждет и продолжает работу

Канал не найден

  • Проверьте правильность имени канала в .env
  • Убедитесь, что вы являетесь участником канала

📝 Логирование

Все операции записываются в файл telegram_cleaner.log с временными метками и уровнями важности.

🔒 Безопасность

  • API ключи хранятся только локально
  • Файл .env добавлен в .gitignore
  • Сессия Telegram сохраняется в зашифрованном виде

📞 Поддержка

При возникновении проблем проверьте:

  1. Правильность API ключей
  2. Права доступа к каналу
  3. Лог файл для подробной информации об ошибках