Как подключить Телеграм к агенту и не получить блокировку.
Давайте разберем следующий шаг из ДневнИИка. Именно он дал мне повод читать сводку дня каждое утро.
Телеграм дает официальную возможность сделать свое приложение и общаться через него. Там будет подпись, что отправлено не из официального приложения, но функций сильно больше, чем у бота. Что дает такое приложение с точки зрения автоматизации:
1. Читать всю вашу переписку и диалоги.
2. Видеть всех участников групп.
3. Парсить каналы.
4. Считывать профили пользователей
5. Видеть сторис
6. Писать пользователям первым.
Звучит очень вкусно, но...
Телеграм особенно пристально смотрит за неофициальными клиентами на предмет спама или парсинга. А парсинг данных - один из запретов.
Поэтому зайти в группу, посмотреть профили всех участников, найти пересечения по другим группам можно, но чревато баном.
Тут два пути.
1. Вести себя очень аккуратно.
2. Зарегистрировать аккаунт на левую симку и ни в чем себя не ограничивать, но я осуждаю.
Как я сделал у себя.
У меня написано приложение на библиотеке Python Telethon, которое просто слушает.
Если вы напишите сообщение в одном клиенте, то это обновление вы увидите во всех других клиентах. Вот он просто ловит текст обновлений.
Его задача проста: поймать текст и положить в базу. Если чат новый, то сделать один запрос и узнать ник, имя и т. п.
Никаких переборов, никаких исходящих, никакого парсинга. Просто слушать и класть в БД. Причём я осознанно не качаю аудио и картинки. Хотя мог бы загружать и транскрибировать их, но ссыкотно.
И есть второй самописный сервис, который держит API и умеет читать сообщения из БД. Как раз туда смотрят все агенты. Они вытаскивают по API все необходимое, не перегружая лишними вызовами API телеги.
Теперь главная сложность.
Зарегистрировать приложение можно на сайте
my.telegram.org.
Авторизуешься через одноразовый код, заполняешь форму и получаешь два ключа для теста и прода.
Пакость в том, что ваш IP должен совпадать со страной телефона. Чуете подвох?
Но это можно легко обойти. Достаточно руками сказать, что надо идти по нужному адресу.
Windows: «Блокнот» от админа → открыть C:\Windows\System32\drivers\etc\hosts. Без прав администратора файл откроется только на чтение.
Linux/Mac: sudo nano /etc/hosts
и добавить строку
149.154.167.220 my.telegram.orgВсе, вы великолепны. Теперь можно зарегистрировать приложение и навайбкодить все, что душа пожелает.
😎
Дима CauseLove | Бизнес и психология