Greasy Fork is available in English.
Собирает сообщения из Telegram, отправляет в n8n. GUI, автозапуск, случайные каналы, более человекоподобные тайминги по умолчанию.
# telegram-web-scraper
UserScript для сбора сообщений канала Telegram и отправки в n8n или другую систему
# Telegram Web Scraper UserScript
UserScript для сбора сообщений из указанных каналов Telegram (при просмотре в web.telegram.org) и отправки их в настроенный веб-хук n8n.
## Функции
* Собирает сообщения из текущего активного канала или предопределенного списка каналов.
* Графический пользовательский интерфейс (GUI) для легкой настройки параметров, работающий на базе GM_config.
* Фильтрует сообщения по максимальному возрасту, чтобы избежать обработки очень старых данных.
* Автоматически переходит между каналами в режиме многоканального сбора.
* Включает случайные задержки для лучшей имитации шаблонов просмотра человеком.
* Управление с помощью команд меню Tampermonkey/Violentmonkey.
* Двуязычные комментарии (английский/русский) в коде скрипта.
## Установка
1. **Установите UserScript Manager**:
* [Tampermonkey](https://www.tampermonkey.net/) (рекомендуется для Chrome, Edge, Safari, Opera, Firefox)
* [Violentmonkey](https://violentmonkey.github.io/) (рекомендуется для Firefox, Chrome, Edge, Opera)
* Или любой другой UserScript Manager, поддерживающий директивы `@require` и `@grant`.
2. **Установите скрипт**:
* **Нажмите здесь, чтобы установить**: [https://github.com/LebedevIV/telegram-web-scraper/raw/refs/heads/main/telegram-scraper.user.js](https://github.com/LebedevIV/telegram-web-scraper/raw/refs/heads/main/telegram-scraper.user.js)
* (Замените `ВАШ_НИКНЕЙМ_GITHUB` и `ИМЯ_ВАШЕГО_РЕПОЗИТОРИЯ` на ваше фактическое имя пользователя GitHub и имя репозитория. Также убедитесь, что `main` — это имя вашей ветки по умолчанию; для старых репозиториев это может быть `master`.)
* Или перейдите к файлу `telegram-scraper.user.js` в этом репозитории, нажмите кнопку «Raw», и ваш менеджер UserScript должен предложить вам установить его.
## Конфигурация
После установки откройте Telegram Web (например, web.telegram.org/k/). Настройки скрипта можно открыть с помощью значка менеджера UserScript в браузере:
* Щелкните значок Tampermonkey/Violentmonkey.
* Найдите "Telegram Scraper (Menu Commands vX.X.X)" в списке активных скриптов.
* Выберите "Настройки скрипта... / Настройки скрипта..." в его выпадающем меню.
Ключевые настройки включают:
* **URL-адрес веб-перехватчика N8N**: URL-адрес вашего веб-перехватчика n8n, который будет получать собранные данные.
* **Максимальный возраст сообщения (часов)**: Сообщения старше этого будут игнорироваться.
* Различные параметры времени и попыток для сбора и навигации.
Значения по умолчанию и требования к перезагрузке указаны рядом с каждым параметром в графическом интерфейсе.
## Использование
Скрипт добавляет команды в меню вашего менеджера UserScript для вкладки Telegram Web:
* **Scrape Current Channel / Собрать с текущего канала**: начинает сбор сообщений с канала, открытого в данный момент в Telegram Web.
* **Scrape All Listed Channels / Собрать со всех каналов**: выполняет итерации по списку `TARGET_CHANNELS_DATA`, определенному в скрипте, собирая каждый из них.
* **Stop All Scraping / Остановить всё**: немедленно останавливает все активные процессы сбора.
* **Настройки скрипта... / Script Settings...**: открывает графический интерфейс конфигурации.
Ход сбора и журналы выводятся в консоль разработчика браузера (F12).
## Зависимости
* **GM_config.js**: эта библиотека загружается через директиву `@require` из `openuserjs.org` для предоставления графического интерфейса настроек.
* **n8n Webhook**: Вам нужен активный экземпляр n8n с рабочим процессом webhook, готовый получать данные JSON через запросы POST.
## Устранение неполадок
* **Скрипт не запущен**: Убедитесь, что Tampermonkey/Violentmonkey включены, а скрипт активен для `web.telegram.org`. Проверьте консоль браузера на наличие ошибок.
* **Настройки GUI не отображаются**: Проверьте консоль на наличие ошибок, связанных с `GM_config.js`. URL-адрес `@require` может быть временно недоступен, или может возникнуть конфликт.
* **Данные не достигают n8n**:
* Проверьте, что "N8N Webhook URL" в настройках скрипта указан правильно и доступен из вашего браузера.
* Проверьте рабочий процесс n8n на наличие ошибок и убедитесь, что он активен.
* Найдите ошибки `GM_xmlhttpRequest` в консоли браузера.
## Лицензия
Этот проект лицензирован по [Лицензии MIT](LICENSE).