mirror of
https://gitverse.ru/kpa39l/chronicle.nixg.ru.git
synced 2026-09-29 09:55:08 +00:00
4.9 KiB
4.9 KiB
Telegram Archiver — Настройка credentials
1. Получение API ключей
Шаг 1.1: Зайди на my.telegram.org
- Открой https://my.telegram.org/auth
- Введи свой номер телефона в формате
+79991234567 - Нажми "Next"
Шаг 1.2: Введи код из Telegram
- Открой Telegram (десктоп или мобильное приложение)
- Найди сообщение от Telegram с кодом подтверждения
- Введи код на сайте
Шаг 1.3: Создай приложение
- Перейди на https://my.telegram.org/apps
- Нажми "Create application"
- Заполни форму:
- App title:
Telegram Archiver(или любое название) - Short name:
tg-archiver(или любое) - Platform: выбери
Desktop - Description:
Archive Telegram channels to Markdown(можно любое)
- App title:
- Нажми "Create application"
Шаг 1.4: Скопируй credentials
После создания приложения увидишь:
Api ID: 12345678
Api hash: abcdef1234567890abcdef1234567890
Скопируй эти значения!
2. Настройка .env файла
Шаг 2.1: Создай .env
В корне проекта telegram-archiver/:
cd telegram-archiver
copy .env.example .env
Шаг 2.2: Заполни .env
Открой .env и вставь свои данные:
# Telegram API credentials
API_ID=12345678
API_HASH=abcdef1234567890abcdef1234567890
PHONE=+79991234567
# Session name (will create telegram-archiver.session file)
SESSION_NAME=telegram-archiver
# Max file size to download (in bytes)
# Default: 200 MB = 209715200
MAX_FILE_SIZE=209715200
# Output directory for archives
OUTPUT_DIR=./archives
# Log level: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=INFO
Важно:
PHONEдолжен начинаться с+- Не коммить
.envв git (он в .gitignore)
3. Первый запуск
Шаг 3.1: Активируй виртуальное окружение
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
# Windows (cmd)
.venv\Scripts\activate
Шаг 3.2: Запусти архивацию
# Тестовый запуск (первые 10 постов)
python -m telegram-archiver --channel dedinit --limit 10
# Или полный архив канала
python -m telegram-archiver --channel dedinit
Шаг 3.3: Первая авторизация
При первом запуске:
- Скрипт попросит ввести код из Telegram
- Открой Telegram → найди сообщение от Telegram с кодом
- Введи код в консоль
Code sent to +79991234567
Enter the code you received: 12345
После успешной авторизации:
- Создается файл
telegram-archiver.session - Сессия сохраняется для следующих запусков
4. Проверка результата
Структура выходных данных
После архивации:
archives/
└── dedinit/
├── 12345/
│ ├── index.md
│ └── photo.jpg
├── 12346/
│ └── index.md
└── 2big2get.md (если есть большие файлы)
Проверка index.md
Открой любой index.md:
---
message_id: 12345
date: 2024-02-19T14:30:00
author: "Dedinit"
media_files:
- filename: photo.jpg
type: photo
size: 102400
---
Текст поста в Markdown
5. Возможные проблемы
Ошибка: "PHONE must start with +"
Решение: Добавь + в начало номера в .env
Ошибка: "API_ID must be a positive integer"
Решение: Проверь что API_ID — число без кавычек
Ошибка: "No module named 'telethon'"
Решение:
.venv\Scripts\activate
uv pip install -r requirements.txt
Ошибка авторизации (код не приходит)
Решение:
- Подожди 1-2 минуты
- Проверь что номер телефона правильный
- Попробуй запросить код ещё раз
Flood wait error
Telegram ограничивает частоту запросов.
Решение: Подожди указанное время (обычно 1-5 минут)
6. Что дальше?
После успешного тестирования:
- ✅ Проверь структуру bundle
- ✅ Проверь front-matter
- ✅ Проверь скачанные медиа
- ✅ Посмотри логи (
YYYYMMDD-dedinit.log)
Если всё ок — готово! Можно двигаться дальше. 🎉