Как ловить упоминания в Telegram по ключевым словам

Как ловить упоминания в Telegram по ключевым словам

Если ваш бренд, фамилию или любимый смузи обсуждают в Telegram, узнать об этом хочется сразу, а не спустя неделю случайного скролла. В этом гиде разберём, как настроить мгновенные алёрты по ключевым словам — от кнопки «добавить бота» до полноценного DIY-скрипта с Искусственным Интеллектом, который сам резюмирует найденное. 

Зачем вообще всё это?

Мониторинг Telegram-упоминаний пригодится, если:

  • PR и репутация: отлавливаем негатив, пока он не привёл к пожару.
  • Продажи: ловим «ищу ноут до 1000 €» и сразу предлагаем свой.
  • R&D: следим, что конкуренты анонсируют в каналах раньше пресс-релизов.

Ну или просто любуемся, как друзья хвалят наш новый подкаст. ❤️

Что Telegram умеет «из коробки»

Встроенного глобального поиска Telegram хватает, чтобы вручную найти упоминание, но он не умеет оповещать. Максимум — закрепили поиск в «Недавних» и обновляем каждое утро, как древний монах-летописец.

Заглядываем в Saved Messages

Можно сохранить ссылку на поиск tg://search?query=ваш запрос в «Избранное» — кликом открывается свежая выдача. Удобно, но по сравнению с ботами — словно искать Wi-Fi кабелем.

Готовые боты и сервисы: результат за 5 минут

TGAlertsBot — золотая кнопка «Следить»

TGAlertsBot — пожалуй, самый популярный «гугл-алерт» для Telegram. Достоинства: бесплатный базовый план, работает и с каналами, и с группами, поддерживает до 10 ключевых фраз и регулярные выражения. Подписаться просто:

  1. Добавляем бота в личку.
  2. Жмём /add фраза — например, /add криптодождь.
  3. С радостью ждём пуши, когда слово появляется где-нибудь в посте.

Telemetr — алёрты плюс аналитика

У Telemetr мониторинг упоминаний прячется за меню «Инструменты → Мониторинг упоминаний». Помимо самих алёртов вы получаете красивые графики: сколько было упоминаний, где пик, каков охват. Бесплатно доступно 3 фразы, платные тарифы расширяют лимит и открывают API.

Combot — триггеры внутри групп

Combot славится антиспамом, но в нём есть «Trigger-system». Настраиваем фразу — бот реагирует мгновенно: шлёт приватное сообщение, пингует админа или даже мутит автора, если слово запретное. Полезно, если нужно фильтровать беседу в собственном чате. 

Автоматизация без кода: IFTTT, Zapier, n8n

IFTTT — «если сказали про вас, то позвони маме»

В IFTTT есть триггер «New message with key phrase in a group» для Telegram. Задаём ключ («сгорает склад!») и действие — переслать в Slack, пушнуть на смарт-часы или включить умную лампу, чтобы мигала тревожно. 

Zapier — мастер интеграций

С Zapier можно, например, брать письма с темой «🔥» и фильтром по словам, а затем дропать их в Telegram-чат obchod-team. Пример такого «запа» фигурирует в библиотеке рецептов Gmail → Telegram. 

n8n — self-hosted и хакерски гибкий

В библиотеке n8n лежит готовый workflow, который мониторит Gmail, фильтрует письма по ключевикам, делает AI-конспект и пуляет его в Telegram. Меняем Gmail на RSS-фид канала — и получаем свой keyword-алерт. 

Пишем своего бота с нуля

Когда хочется полного контроля (или бесплатно >1 000 упоминаний в день), придётся закатать рукава. Базовый стек:

  • Python 3.12 + Telethon для прослушки публичных каналов.
  • PostgreSQL/SQLite для хранения.
  • aiogram (если хотите отвечать пользователю).

 from telethon import TelegramClient, events
 
 API_ID = 123456
 API_HASH = 'abcdef...'
 KEYWORDS = {'криптодождь', 'скидка 90%', 'конференция'}
 
 client = TelegramClient('session', API_ID, API_HASH)
 
 @client.on(events.NewMessage(chats=None))  # все, куда у вас есть доступ
 async def handler(event):
     text = event.raw_text.lower()
     if any(k in text for k in KEYWORDS):
         await client.send_message('me', f'Найдено: {event.text[:150]}...n{event.message.link}')
         
 client.start()
 client.run_until_disconnected()
 

Живой пример похожего кода лежит на GitHub-репо telegram-keyword-detector

Регулярки, стоп-слова, языки

  • Используйте re.compile(r'bwordb', re.I), чтобы ловить точные совпадения.
  • Фильтруйте стоп-слова («флуд», «репост»), чтобы алёрт не срабатывал на шум.
  • Для мультиязычности храните ключи в UTF-8 и нормализуйте текст через str.casefold().

Собираем аналитику

Сами упоминания — лишь половина дела. Дальше можно:

  1. Складывать данные в BigQuery и строить дэшборды Looker Studio.
  2. Обогащать сообщение мета-данными (охват канала — берём из TGStat API).
  3. Вычислять тональность через OpenAI GPT-4o, чтобы отделить хейт от похвал.

Типичные ошибки и как их избежать

  • Слишком общие ключи: «bitcoin» выстрелит 10 000 раз в час. Уточняйте: «bitcoin + кризис + СНГ».
  • Не проверили права бота: публичный канал не содержит ботов — значит, алёртов не будет.
  • Игнорирование лимитов API: Telethon может схватить FloodWait, если читать сотни каналов без пауз.

Правовая и этическая сторона

Да, каналы публичны — но ваш скрипт всё равно должен соблюдать Terms of Service Telegram . Не сохраняем личные данные юзеров, не участвуем в спаме, уважаем GDPR и прочие страшные аббревиатуры.

Итоги

Упоминания в Telegram — это золото, пока вы ловите их горячими. Для старта хватит TGAlertsBot или Telemetr: пять кликов, и алёрты полетели. Хотите автомагии — играйте с IFTTT, Zapier или n8n. А если душа просит кода и бесконечной кастомизации, Telethon к вашим услугам. Главное — не забывайте про фильтры и этику. Счастливого мониторинга, и пусть о вас говорят только хорошее!

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.

SOC MDR: автономный мониторинг и реагирование

Изоляция устройств, блокировка угроз, восстановление систем


Юрий Кочетов

Здесь я делюсь своими не самыми полезными, но крайне забавными мыслями о том, как устроен этот мир. Если вы устали от скучных советов и правильных решений, то вам точно сюда.