Создание каналов и групп
Массовое создание каналов и супергрупп на аккаунтах пула: название из списка или по шаблону, подбор свободного @username, описание и аватар.
Создание каналов и групп — режим, в котором пул аккаунтов делает каналы и супергруппы. Каждый аккаунт создаёт заданное число сущностей — своих, с собственным названием, при желании с публичной ссылкой, описанием и аватаром. Владельцем каждой сущности остаётся создавший её аккаунт, поэтому режим обычно запускают, чтобы подготовить площадки под другие задачи: клонирование, рассылку постов, приглашения.
Здесь нет общего пула целей: аккаунты работают независимо, а суммарный результат равен числу аккаунтов, умноженному на «сущностей на аккаунт».
Что создаём
| Поле | По умолчанию | Варианты |
|---|---|---|
| Тип сущности | Канал | Канал — вещательный, Группа — супергруппа |
| Приватность | Публичный | Публичный — с @username и открытой ссылкой; Приватный — только по инвайту |
Приватность решает многое: у приватных сущностей блок подбора username целиком скрыт, и создание проходит быстрее, потому что не нужно перебирать свободные имена.
Откуда берётся название
Источник названия — по умолчанию Список.
- Список — поле Список названий, по одному названию в строке. На каждую сущность берётся случайная строка, а не следующая по порядку: список не расходуется, и одно название может выпасть дважды.
- Динамическое — поле Шаблон названия, по умолчанию
News Hub <Number>. Шаблон раскрывается заново для каждой сущности.
Токены шаблона:
| Токен | Что подставляет |
|---|---|
<Number> | Число от 1 до 99999 |
<Random> | Восемь случайных символов: строчные латинские буквы и цифры |
<Letter> / <LowerLetter> / <UpperLetter> | Одну букву: любую / строчную / заглавную |
<Digit> | Одну цифру |
<Hex> | Один шестнадцатеричный символ |
<Symbol> | Подчёркивание |
{Новости|Дайджест|Лента} | Случайный вариант из перечисленных через | |
Обычный текст в шаблоне остаётся как есть. Название обрезается до 128 символов; если и список, и
шаблон дали пустую строку, подставляется запасное название вида Channel 48213.
Подбор публичного @username
Весь блок виден только при приватности «Публичный».
| Поле | По умолчанию | Назначение |
|---|---|---|
| Источник username | Динамический | Откуда берутся кандидаты: Список или генерация по шаблону |
| Список usernames | — | Кандидаты по одному в строке, @ можно не писать. Появляется при источнике «Список» |
| Шаблон username | Пусто | Шаблон с теми же токенами, что и у названия. Появляется при источнике «Динамический» |
| Попыток username | 5 | Сколько кандидатов проверить, прежде чем сдаться |
Каждая попытка устроена одинаково: берётся кандидат (из списка — случайная строка, из шаблона — свежее раскрытие), приводится к правилам Telegram и проверяется на занятость через Telegram. Найденное свободное имя закрывает цикл — оставшиеся попытки не тратятся.
Кандидат приводится к виду автоматически: убирается @, всё переводится в нижний регистр, символы
кроме a-z, 0-9 и _ вырезаются, слишком короткое имя добивается случайными цифрами до пяти
символов, длинное обрезается до 32. Поэтому кириллица в списке username работать не будет — от неё
останется пустая строка.
Что будет, если свободного имени не нашлось. Сущность всё равно создаётся — просто без
публичного @username, то есть фактически приватной. В лог уходит предупреждение
no free username after N attempts; creating without a public handle. Прогон при этом не
останавливается, счётчик сущностей на аккаунт расходуется.
Отдельный случай — когда имя проверку прошло, но Telegram отказал уже при создании. Тогда в логе
рядом с созданной сущностью появится username_error, а сама сущность останется без ссылки. То же
самое с аватаром: photo_error означает, что канал создан, но картинка не применилась.
Оформление
Дополнительные опции — по умолчанию не выбрано ничего. Каждая галочка открывает своё поле.
- Аватар → Файлы аватаров. Пул изображений; каждой сущности достаётся случайный файл. Несколько путей разделяются точкой с запятой или переносом строки.
- Описание → Список описаний, по одному описанию в строке. На сущность берётся случайная строка, текст обрезается до 255 символов.
- Включить реакции → Разрешённые реакции, по умолчанию
👍. Выбираются только поддерживаемые Telegram реакции. Учтите: сценарий читает эту галочку, но отдельного шага, который выставляет набор реакций созданной сущности, в нём нет — реакции придётся включить вручную.
Сколько и как быстро
| Поле | По умолчанию | Назначение |
|---|---|---|
| Сущностей на аккаунт | 1 | Сколько каналов или групп создаёт каждый аккаунт за прогон |
| Задержка (сек) | 30–120 | Случайная пауза перед каждым созданием, включая самое первое |
Пауза стоит именно перед созданием, поэтому даже одна сущность на аккаунт начнётся не мгновенно: поток сначала выждет 30–120 секунд.
Как проходит создание
Пауза. Поток ждёт случайное время из диапазона задержки.
Сборка данных. Определяются название, описание и файл аватара для этой сущности.
Подбор username. Только для публичных: кандидаты генерируются и проверяются на занятость, пока не найдётся свободный или не кончатся попытки.
Создание. Создаётся канал или супергруппа с названием, описанием, аватаром и найденным username.
Проверка. Если username назначен — сущность запрашивается по нему; неудача только пишется в лог как «ещё не резолвится».
Итог. После всех созданий аккаунт запрашивает список управляемых сущностей и пишет в лог, сколькими он теперь владеет.
Каждое создание изолировано: ошибка на одной сущности обрабатывается и логируется, а поток переходит к следующей.
Лимиты и риски
Все ограничения здесь приходят от Telegram, и обойти их нечем — можно только не упираться в них раз за разом.
- Число создаваемых сущностей. Telegram ограничивает, сколько каналов и групп аккаунт может создать; при исчерпании лимита создание отваливается с ошибкой, и её видно в логе.
- Публичные username. Их лимит на аккаунт заметно жёстче, чем лимит на сами сущности. Дойдя до потолка, аккаунт продолжит создавать сущности, но уже без ссылок.
- Занятость имён. Короткие и осмысленные
@usernameпрактически все заняты. Пять попыток по простому шаблону — это почти гарантированно пять неудач. - Свежие аккаунты. Только что зарегистрированный аккаунт, сразу создающий пачку публичных каналов, выглядит подозрительно и рискует ограничениями.
- Владение. Каждая сущность привязана к создавшему её аккаунту. Потеряете аккаунт — потеряете и канал вместе с ним.
Рекомендации
- Заполните шаблон username. По умолчанию он пустой, а пустой шаблон даёт пустого кандидата — все попытки уйдут вхолостую, и сущности останутся без ссылок.
- Закладывайте случайность в шаблон.
news<Random>илиdaily<Number>находят свободное имя в разы чаще, чемmychannel<Digit>. - Увеличьте попытки до 8–10, если делаете публичные сущности: каждая попытка — это один сетевой запрос, а не создание, и стоит она дёшево.
- Начните с одной сущности на аккаунт и посмотрите лог: там видно и назначенный username, и
username_error, и сколько сущностей теперь у аккаунта. - Раскладывайте нагрузку на пул. Десять аккаунтов по две сущности проходят спокойнее, чем один аккаунт с двадцатью, даже при большой задержке.
Публичный канал без ссылки — обычный исход
Если свободный @username не нашёлся за отведённые попытки, режим не останавливается и не
пропускает сущность: канал или группа создаются без публичной ссылки. Внешне прогон выглядит
успешным, а на выходе получается набор приватных сущностей. Проверяйте логи на строки
creating without a public handle и username_error, прежде чем считать задачу выполненной.
Инвайтинг
Приглашение списка пользователей в ваш канал или группу силами рабочих аккаунтов: раздача прав, распределение аудитории по лимитам и приглашение с задержками.
Клонирование каналов
Перенос постов из каналов-источников в один ваш канал: посты с медиа копируются один в один, текстовые пересобираются по заданным правилам.