Telegram — одна з найдружніших до автоматизації платформ: відкритий API, підтримка юзерботів, розумні обмеження для розробників. Але вона має серйозний антиспам-шар — SpamBot, ML-система, яка відстежує паттерни масових розсилок, мереж фейкових акаунтів і маніпуляцій з просуванням каналів.
Один з головних сигналів для SpamBot — IP-адреса. Конкретно: виглядає IP як реальний мобільний користувач Telegram чи як серверна ферма, що запускає сотні акаунтів. Якщо ви автоматизуєте Telegram у будь-якому масштабі — боти, юзерботи, мультиакаунт, просування каналів — якість IP визначає, як довго проживуть ваші акаунти.
Отримати мобільні проксі для Telegram
Реальні 4G/5G IP операторів — виділені, миттєва ротація. Україна, Румунія, Латвія.
Як працює інфраструктура Telegram
Telegram використовує власний транспортний протокол MTProto. На відміну від HTTP-платформ, клієнти Telegram підтримують постійні зашифровані з'єднання з дата-центрами Telegram. Кожне з'єднання прив'язане до номера телефону, а рейтинг довіри акаунту частково формується на основі поведінки та репутації IP, з яких до нього зверталися.
Акаунти Telegram прив'язані до номерів телефонів. Немає входу за email, немає анонімної реєстрації. Це означає, що блокування акаунту — не просто відкликання доступу, а внесення реального номера телефону до чорного списку. Відновлення вимагає нової SIM-картки або віртуального номера з сервісу SMS-активації.
SpamBot (@SpamBot) — автоматичний акаунт Telegram для примусового застосування правил. Коли він обмежує акаунт, користувачі бачать повідомлення на кшталт «Ваш акаунт обмежено». Обмеження варіюються від тимчасових лімітів на повідомлення до постійних блокувань. ML-модель SpamBot навчена на сигналах, зокрема:
- Кілька акаунтів, що підключаються з одного IP в короткий проміжок часу
- Високочастотна відправка повідомлень або масові запрошення
- IP-адреси, що належать ASN дата-центрів (хмарні провайдери)
- Нові акаунти без поведінкової історії, створені не з мобільних IP
Коли кілька акаунтів використовують одну й ту саму IP-адресу, SpamBot негайно пов'язує їх. Блокування одного прискорює перевірку решти на тій самій адресі.
Сценарії використання проксі в Telegram
Мультиакаунтне управління
Маркетингові агентства, команди зростання та афіліат-маркетологи часто управляють кількома акаунтами Telegram одночасно — кожен зі своєю персоною, списком каналів і розкладом повідомлень. Запуск усього цього з однієї машини без ізоляції проксі гарантує IP-зв'язування акаунтів.
З виділеними мобільними проксі кожен акаунт отримує власний IP оператора. З точки зору Telegram кожен акаунт виглядає як окремий користувач на окремому телефоні.
Ферми ботів для просування каналів
Власники каналів використовують мережі акаунтів для накрутки підписників, просування контенту в групах і проведення кампаній із залучення. Таким фермам потрібні чисті IP як при реєстрації акаунтів, так і в ході роботи. Datacenter-IP згорають миттєво; мобільні IP живуть достатньо довго для розширених кампаній.
Автоматизація юзерботів з Telethon і Pyrogram
Юзерботи — це звичайні акаунти Telegram, якими керують через API за допомогою бібліотек Telethon або Pyrogram (обидві на Python). На відміну від офіційних ботів (які використовують Bot API), юзерботи мають доступ до всіх функцій рівня користувача — читання історії повідомлень, вступ до груп, парсинг списків учасників, відправка повідомлень від імені користувача.
API Telegram вводить помилки flood wait при перевищенні порогів швидкості запитів. З виділеним IP на кожний юзербот кожен з них працює в межах власного незалежного бюджету обмежень. Спільне використання IP кількома юзерботами об'єднує їхні бюджети та швидше спричиняє flood wait.
Управління каналами та групами у масштабі
Адміністратори, які керують кількома каналами або спільнотами, використовують юзерботів для автоматизації модерації, крос-постингу, планування публікацій і управління учасниками. Кожен канал, яким керує окремий юзербот на власному проксі, повністю ізольований — проблема з одним ботом не зачіпає інших.
Парсинг Telegram
Публічні групи Telegram відкривають списки учасників і історію постів через API. Ці дані використовуються для лідогенерації, аналізу конкурентів і дослідження аудиторії. Парсинг у масштабі генерує flood wait та IP-рівневі обмеження швидкості. Розподіл сесій парсингу по кількох мобільних проксі дозволяє паралельне збирання без досягнення лімітів.
Чому мобільні проксі працюють для Telegram
Модель SpamBot Telegram відкалібрована проти паттернів datacenter-IP. Коли трафік надходить з IP Amazon AWS, Hetzner або DigitalOcean, він позначається на рівні ASN ще до запуску будь-якого поведінкового аналізу. Це найчастіша причина блокування автоматизаційних акаунтів протягом кількох годин після створення.
IP мобільних операторів — зовсім інша категорія. Kyivstar в Україні, Orange у Румунії, LMT у Латвії — це ті самі ASN, під якими з'являються звичайні користувачі Telegram на своїх телефонах. Telegram не може заблокувати цілі діапазони IP операторів, не заблокувавши мільйони реальних користувачів.
Ключові властивості мобільних проксі:
- ASN оператора — IP належить мобільному оператору, а не хостинг-провайдеру. Це проходить первинну перевірку класифікації IP у Telegram.
- CGNAT — мобільні оператори використовують Carrier-Grade NAT, тому багато абонентів ділять IP-простір. Системи Telegram враховують це і не вважають високе IP-шарінг підозрілим.
- Чиста історія — виділений мобільний проксі від ProxyGrow ніколи не використовувався для спаму. Ви починаєте з нульовою негативною репутацією.
- Геолокація — IP геолокується в країну реєстрації SIM-картки. Акаунт, що стабільно з'являється в Україні з IP Kyivstar, виглядає повністю органічно.
Резидентні проксі пропонують деякі з цих властивостей, але несуть ризик спільної історії. Якщо попередній користувач того самого резидентного IP вів спам-кампанії, репутація IP вже зіпсована. Фізичні SIM-картки не накопичують історію зловживань третіх сторін.
MTProto проксі vs SOCKS5
Це дві різні речі, які часто плутають:
MTProto проксі — специфічний для Telegram протокол проксі, призначений для обходу державної цензури Telegram. Він працює на рівні MTProto і налаштовується безпосередньо в додатку Telegram (Налаштування → Дані і пам'ять → Використовувати проксі). MTProto проксі використовуються для обходу цензури, а не для автоматизації. Вони не забезпечують IP-ізоляцію на акаунт і марні для мультиакаунтних або бот-конфігурацій.
SOCKS5 — універсальний протокол TCP-проксі. Telethon і Pyrogram нативно підтримують SOCKS5 проксі. Коли ви передаєте SOCKS5-дані в бібліотеку клієнта, весь API-трафік — включно з MTProto-з'єднаннями — виходить через IP проксі. Це правильна конфігурація для автоматизації.
Обидва режими — MTProto проксі і SOCKS5-маршрутизація — працюють з мобільними проксі ProxyGrow. Для автоматизації завжди використовуйте SOCKS5.
Налаштування SOCKS5 у Telethon
Telethon підтримує SOCKS5 через модуль python-socks (або застарілий пакет socks). Передайте дані проксі при ініціалізації клієнта:
from telethon import TelegramClient
import socks
client = TelegramClient(
'session_name',
api_id=YOUR_API_ID,
api_hash='YOUR_API_HASH',
proxy=(socks.SOCKS5, 'your-proxy-host', 1080, True, 'username', 'password')
)
async def main():
await client.start()
me = await client.get_me()
print(me.username)
import asyncio
asyncio.run(main())
Формат кортежу проксі для Telethon: (тип, хост, порт, rdns, ім'я_користувача, пароль). Встановлення rdns=True гарантує, що DNS-резолвінг відбувається через проксі, а не локально — це запобігає DNS-витокам, які можуть розкрити реальний IP вашого сервера Telegram.
Для кількох акаунтів ініціалізуйте окремий екземпляр TelegramClient для кожного акаунту, кожен з власним файлом сесії та даними проксі:
accounts = [
{'session': 'account_1', 'proxy_host': 'proxy1.proxygrow.com', 'proxy_port': 1080, 'user': 'user1', 'pass': 'pass1'},
{'session': 'account_2', 'proxy_host': 'proxy2.proxygrow.com', 'proxy_port': 1080, 'user': 'user2', 'pass': 'pass2'},
]
clients = [
TelegramClient(
acc['session'],
api_id=YOUR_API_ID,
api_hash='YOUR_API_HASH',
proxy=(socks.SOCKS5, acc['proxy_host'], acc['proxy_port'], True, acc['user'], acc['pass'])
)
for acc in accounts
]
Налаштування SOCKS5 у Pyrogram
Pyrogram використовує конфігурацію проксі на основі словника:
from pyrogram import Client
app = Client(
"my_account",
api_id=YOUR_API_ID,
api_hash="YOUR_API_HASH",
proxy={
"scheme": "socks5",
"hostname": "your-proxy-host",
"port": 1080,
"username": "username",
"password": "password"
}
)
async def main():
async with app:
me = await app.get_me()
print(me.first_name)
import asyncio
asyncio.run(main())
Pyrogram також підтримує socks4 та http як значення scheme, але SOCKS5 рекомендується для надійності та підтримки автентифікації.
Безпечні ліміти автоматизації
API Telegram вводить обмеження швидкості через помилки flood wait (FloodWaitError у Telethon, FloodWait у Pyrogram). Коли ви досягаєте flood wait, помилка включає час очікування в секундах. Ігнорування flood wait і негайна повторна спроба призводять до наростаючих обмежень.
Практично безпечні ліміти на акаунт:
| Дія | Безпечна швидкість |
|---|---|
| Відправка повідомлень | ~20/хвилину |
| Вступ до груп/каналів | ~5-10/день для нових акаунтів |
| Додавання контактів | ~20-30/день |
| Запити на читання API | ~30/секунду |
| Масові запрошення | максимум 200 інвайтів/день (жорсткий ліміт) |
Нові акаунти потребують періоду прогрівання. Протягом перших двох тижнів після створення акаунту уникайте автоматизації повністю. Використовуйте акаунт вручну — вступіть до кількох каналів, надішліть кілька повідомлень контактам, налаштуйте параметри. Це формує поведінкову історію з IP проксі до запуску будь-якої автоматизації. Акаунти, що переходять одразу від реєстрації до масових розсилок, — найчастіша ціль SpamBot.
Після періоду прогрівання починайте автоматизацію з 30-40% від цільової швидкості і масштабуйте протягом 1-2 тижнів.
Створення акаунтів через проксі
При створенні нових акаунтів Telegram IP, використаний при реєстрації, записується та враховується в початковому рейтингу довіри акаунту. Акаунти, створені з datacenter-IP, починають зі зниженим рівнем довіри і швидше стикаються з обмеженнями SpamBot, ніж створені з мобільних IP.
Рекомендований процес створення акаунтів:
- Підключіться через мобільний проксі (ProxyGrow Україна або Румунія)
- Використовуйте віртуальний номер телефону з сервісу SMS-активації (SMS-Activate, 5sim тощо), який відповідає або близький до GEO проксі
- Завершіть реєстрацію через додаток Telegram або через API — з'єднання йде через IP мобільного проксі
- Прогрійте акаунт вручну протягом 2 тижнів перед запуском автоматизації
Цей підхід дає новим акаунтам той самий базовий рівень довіри, що й реальним користувачам, які реєструються зі своїх телефонів.
Управління каналами у масштабі
Типова конфігурація для агентств, що керують кількома каналами Telegram:
- Один юзербот на проксі
- Кожен юзербот — адміністратор 2-5 каналів
- Юзерботи займаються плануванням постів, закріпленням, створенням опитувань і модерацією
- Канали, призначені різним юзерботам, не мають перетину за IP
Ця структура означає, що обмеження SpamBot на один акаунт юзербота не наражає на ризик канали, якими керують інші юзерботи. Операції з управління каналами самі по собі менш ризиковані, ніж масові розсилки, але ізоляція — все одно правильна практика.
Для крос-постингу (публікація одного контенту в кількох каналах) найбезпечніший підхід — маршрутизувати публікацію через окремий юзербот на кожен канал, а не один юзербот, що постить у всі канали. Це позбавляє від паттерну, при якому один акаунт багаторазово надсилає одне й те саме повідомлення — саме це SpamBot позначає як підозріле.
Парсинг списків учасників
Публічні групи Telegram відкривають списки учасників через API-виклик GetParticipants. Парсинг великих груп (100k+ учасників) вимагає безлічі API-запитів, розподілених у часі. SpamBot безпосередньо не обмежує парсинг, але flood wait обмежує швидкість.
З кількома проксі можна запускати паралельні сесії парсингу, кожна в межах власного бюджету обмежень швидкості:
from telethon.sync import TelegramClient
from telethon.tl.functions.channels import GetParticipantsRequest
from telethon.tl.types import ChannelParticipantsSearch
import socks
def scrape_members(session_name, proxy_config, group_username):
client = TelegramClient(
session_name,
api_id=YOUR_API_ID,
api_hash='YOUR_API_HASH',
proxy=proxy_config
)
with client:
group = client.get_entity(group_username)
participants = client.get_participants(group, aggressive=True)
return [p for p in participants]
Запустіть цю функцію паралельно з різними сесіями та конфігураціями проксі. Кожна сесія досягає flood wait незалежно, тому паралельні сесії завершують парсинг значно швидше.
Конфігурація ProxyGrow для Telegram
Рекомендована конфігурація залежно від сценарію використання:
| Сценарій | Тип проксі | Співвідношення |
|---|---|---|
| Мультиакаунтне управління | Виділений | 1 проксі на акаунт |
| Ферма ботів | Виділений | 1 проксі на акаунт |
| Автоматизація юзерботів | Виділений | 1 проксі на сесію юзербота |
| Моніторинг каналів з низьким навантаженням | Спільний | 1 проксі на 3-5 акаунтів макс. |
| Парсинг | Виділений або спільний | 1 проксі на сесію парсингу |
Для будь-якого сценарію, де блокування акаунту коштує дорого — платні акаунти, вікові акаунти, акаунти з напрацьованою аудиторією — використовуйте виділені проксі. Спільні проксі прийнятні лише для операцій із переважанням читання при низькій частоті, де блокування — лише незначна незручність.
ProxyGrow надає проксі з України (Kyivstar, Vodafone, Lifecell), Румунії (Orange, Vodafone, Digi) і Латвії (LMT, Tele2, Bite). Для автоматизації Telegram, спрямованої на аудиторію СНД, українські проксі дають найбільш природний профіль трафіку.
Отримати мобільні проксі для Telegram
Реальні 4G/5G IP операторів — виділені, миттєва ротація. Україна, Румунія, Латвія.
Часті запитання
Чи можна використовувати один мобільний проксі для кількох акаунтів Telegram?
Технічно так — від IP мобільних операторів очікується кілька користувачів через CGNAT. Але Telegram все одно записує IP-доступ по кожному акаунту. Якщо один акаунт на спільному IP заблокують, перевірка посилюється для всіх акаунтів, що його використовують. Для нечутливих акаунтів спільний варіант підійде. Для акаунтів, які не можна втратити, використовуйте виділені проксі.
Чи блокує Telegram IP проксі?
Telegram не веде чорний список проксі-IP так, як це роблять деякі платформи. Він відстежує поведінкові паттерни з IP. Мобільний проксі-IP, що поводиться як реальний користувач, не блокується. Ризик обмежень надходить від поведінки акаунтів, які використовують проксі, а не від самого IP проксі.
Чи спричинить ротація IP між сесіями блокування з безпеки?
Мобільні проксі ProxyGrow підтримують як sticky-сесії, так і ротацію IP. Для Telegram бажані sticky-сесії — збереження одного IP в межах сесії не викликає виявлення підозрілої зміни місцезнаходження в Telegram. Ротуйте IP лише між окремими робочими сесіями, але не в середині сесії.
У чому різниця між ботом Telegram і юзерботом?
Офіційні боти Telegram використовують Bot API, працюють під бот-акаунтами (імена користувачів, що закінчуються на _bot) і не потребують номерів телефонів. Юзерботи використовують MTProto API для управління звичайними акаунтами користувачів через номер телефону. Юзерботи мають доступ до функцій, недоступних ботам (читання історії повідомлень, вступ до груп як користувач, парсинг учасників). Обидва виграють від мобільних проксі, але юзерботи більше схильні до обмежень SpamBot.
Як обробляти FloodWaitError у Telethon?
from telethon.errors import FloodWaitError
import asyncio
async def safe_send(client, target, message):
try:
await client.send_message(target, message)
except FloodWaitError as e:
print(f"Flood wait: {e.seconds} секунд")
await asyncio.sleep(e.seconds + 5)
await client.send_message(target, message)
Завжди дотримуйтесь значення flood wait, яке повертає API. Ігнорування і негайна повторна спроба погіршують обмеження.