TL;DR написал актуальную на момент августа 2023 года заметку про необходимых для нормального администрирования групп ботов. Желательно бесплатных.
Дисклеймеры
Общий дисклеймер • О личности автора • Отказ от ответственности • Об использовании ChatGPT
Аннотация
Рано или поздно любой полово- или политически зрелый мужчина 10+ лет встаёт перед выбором: быть серой массой или завести канал в Телеграме. Каналом, как правило, дело не ограничивается - "джентльменским набором" считается прикрепленная к каналу группа для комментариев. Группой тоже дело может не ограничиться, и с ростом канала вполне может потребоваться создание своей православной "конфы" для постоянных подписчиков. И группу для комментариев, и отдельный групповой чат надо как-то минимально модерировать для сохранения или наведения соответствующей атмосферы. Это и чистка спама, и разруливание конфликтов, и геймификация, и капча на вход... целое дело! В этой статье расскажу, каким образом я подошел к этому делу (спойлер: довольно сумбурно, так как было условие "это должно было быть готово вчера"). Статья не является каноном, но позволяет вдохновиться этим набором ботов.
Кому подойдет эта статья
Тем, кто ни разу не создавал сколь-нибудь серьёзные группы в Телеграме. А также тем, кто хочет освежить себе знания в настройке групп.
Предыстория
Как-то раз воскресным утром, когда предвещало беду только открытое окно на балконе, которое забыли на ночь закрыть, ко мне пришли знакомые и попросили создать группу-"конфу" для подписчиков канала. Как мы все любим, с блекджеком и полуавтоматизацией за счет ботов. У канала было на тот момент 19К подписчиков, оформились так называемые "старожилы", они же "олды", чьи перлы иногда постит сам админ канала. Контент есть, причем гарантированно топовый: в отдельно взятом далёком от "центра" регионе местные власти всех 30+ субъектов постоянно косячят, факапятся и кринжуют дают инфоповоды разного толка, а комментаторы стараются выписать топовый "рофл" в прикрепленном к каналу чате. Чат тоже должен быть слегка огорожен ботами.
Постановка задачи и требований
Дано: популярный канал в Телеграме и к нему прикрепленный чат для комментариев.
Просьба: создать отдельную группу, технически не связанную с каналом. "Зачем, если к каналу присоединён чат?" - спросите вы? И я отвечу, поясняя по пунктам:
Оформились "олдфаги", которые хотят себе отдельную тусу без потока комментариев к новостям канала, в которых очень тяжело вести осмысленную и длительную переписку;
Бедные стартаперы из малоизвестной конторы под названием Telegram не справились с собственным архитектурным дизайном и не смогли прикрутить "Темы" ("Topics") к прикрепленным к каналам чатам. Предупредительное in-app уведомление о недоступности "Тем" на данных чатах висит уж практически с год, с момента запуска этих самых "Topics";
Справедливости ради, действительно, можно заметить, что эти "Темы" вообще никак не нужны в прикрепленных чатах - подписчик канала просто комментирует пост, не видя интерфейса группы, не видя "топиков", не видя списка участников. Зачастую он даже в прикрепленный чат не добавляется, а просто комментирует, как бы, "придя со стороны". Соответственно, вся суть такого чата крутится вокруг постов с канала. Кому из "олдов" понравится, когда в середину переписки с другими "олдами" лезут левые аккаунты, нарушая контекст разговора?
Платить за каждого из ботов в каждой администрируемой группе - это на самом деле огромные расходы для местечкового админа, поэтому лучше по максимуму использовать бесплатных ботов.
Ну, что за боты?
Собственно, вот таблица:
Must have? |
ℹ️ Название бота |
✅ Задачи бота |
???? Платные функции |
???? Какие права давать |
---|---|---|---|---|
✅ |
Combot (@combot) |
Аналитика, модерация, капча для входа |
Бесплатно, большинство функций платно |
- Удаление сообщений- Блокировка пользователей |
✅ |
Shieldy (@shieldy) |
Капча для входа |
Бесплатно |
- Удаление сообщений- Блокировка пользователей |
✅ |
Name Filter Bot (@NameFilterBot) |
Фильтр имён и юзернеймов для вступления в группу |
Бесплатно |
- Блокировка пользователей |
✅ |
Protectron (@ProtectronBot) |
Фильтр слов |
Бесплатно |
- Удаление сообщений |
✅ |
Dr. Web (@DrWebBot) |
Антивирус ссылок |
Бесплатно |
- Удаление сообщений |
✅ |
Rose (@MissRose_bot) |
Менеджмент групп на максимуме |
Бесплатно |
|
✅ |
ControllerBot (@ControllerBot) |
Создает сообщения с кнопками |
Бесплатно |
|
❔ |
LiveGram (@LiveGramBot) |
Создание "предложек" для пабликов в виде кастомных ботов |
Бесплатно |
Не нужно |
❔ |
Join CATCHA Bot (@join_captcha_bot) |
Капча на вход |
Бесплатно |
|
❔ |
Group Help (@GroupHelpBot) |
Менеджмент групп |
Бесплатно |
- Удаление сообщений- Блокировка пользователей |
❔ |
Lang Blocker Bot (@lang_blocker_bot) |
Очистка от арабско-китайских сообщений |
Бесплатно |
- Удаление сообщений |
❔ |
No Arab Bot (@noarab_bot) |
Удаление сообщений с арабским языком. Простите, дружественные ребята из-за Каспия! |
Бесплатно |
- Удаление сообщений |
❔ |
NoPigRobot (@NoPigRobot) |
Удаление матов |
Бесплатно |
- Удаление сообщений |
Как вы могли не заметить, в данном списке авторами значительной части ботов являются TgDev.io или @tgdev_ru - самые крутые разрабы ботов, я считаю. У них где-то на канале есть список их разработок - рекомендую примерить все. Я искал медь, а нашел золото!
Сейчас всё объясню, как всё это готовить.
И... как всё это готовить?
После создания группы и включения в ней функции "Темы" наш чат превращается в этакое подобие форума в реальном времени.
-
Для сбора статистики можно подключить @combot. Одним из требований было то, что админ ни копейки не заплатит за бота, поэтому довольствуемся бесплатным функционалом:
Статистика (хотя по факту статистика внутри Telegram как минимум точнее, и метрик больше);
Система Combot Anti-Spam (CAS) - богатая система "черного списка" спамеров. Благодаря ней в группу не зайдут откровенные спамеры всякой не очень разрешенной туфты. Если честно, не понимаю, каким образом Combot перехватывает событие удаления пользователя из группы встроенными средствами Телеграм, но каким-то образом CAS и баны в Телеграм связаны - списки кочуют в обе стороны, что отрадно;
Бота надо добавить в админы. Выдаём права на удаление сообщений и блокировку пользователей, этого достаточно;
@shieldy. Это бот для прохождения капчи. Так как бесплатная версия Combot обделена встроенным средством проверки пользователя на адекватность, то пользуемся этим бесплатным ботом. Даём права на блокировку пользователей и удаление сообщений;
-
А вот @NameFilterBot - это прям огранённый алмаз! Вот у нас были действительно серьёзные проблемы с атакой ботов на паблик и группы с обеих сторон политической арены (причина: админы посмели опубликовать провокационную новость из глобальной политической повестки). В числе ботов, которые оскорбляли родителей подписчиков и админов, а так же совершали акты унижения человеческого достоинства и государственных символов страны, прослеживался чёткий паттерн: аккаунты в своем имени могли содержать запрещенные еще с 50-х годов XX века символы и лозунги, да и имена были расово правильные, убер-славянские, с 1488 вариаций имени "Слав", провоцирующие на вкид благодатной прямо перед монитором по старой привычке.
Казалось бы, простая задача - проверить наличие символов из черного списка и "футболить" аккаунты на время подобной атаки, не давая даже зайти в группу? По факту, единственным ботом, способным на такое, оказался именно этот, от тех же ребят из TgDev. Почему любой другой разработчик не задумался наклепать такой простой по функционалу скрипт - я не знаю. А задача-то актуальная. В общем, этот бот оказался самым полезным для нас!
Кстати, недавно запущенный на тот момент встроенный "Активный спам-фильтр" не помог от набега ботоферм.
@ProtectronBot - простой удалятор сообщений из черного списка. Например, если в группе бот видит эмодзи ‼️ (которым часто пользуются спамеры), он это сообщение удаляет. False positive'ов, как правило, очень мало;
Проверка ссылок на отсутствие вирусов - это скорее формальная хотелка, чтобы снять ответственность с администраторов группы. Бот @DrWebBot просто выдаёт на любую ссылку ответ, есть по тому URL вирусы или нет. Пока что вирусов он вообще не обнаружил, вот ни разу. Просто буду себя обманывать и следовать советам моего когнитивного искажения и скажу, что участники группы вирусных ссылок ещё ни разу не кидали;
-
@MissRose_bot - знаменитый и максимально универсальный бот Rose! Практически полностью бесплатный, некогда с открытым исходным кодом, с 500 миллионами пользователей - это универсальный комбайн.
Чем мы пользуемся из функционала бота (отмечено [x]):
[ ] Капча;
[x] Приветствия;
[ ] Антифлуд;
[ ] Управление администраторами;
[x] Антирейд;
[ ] Подтверждения;
[x] Федерации - связность нескольких чатов;
[ ] Баны;
[ ] Черные списки;
[x] Предупреждения о кике участника чата;
[x] Чистка истории сообщений;
[ ] Скрытое изменение параметров чата;
[x] Отключение команд бота для подписчиков;
[ ] Форматирование сообщений;
-
[ ] Управление "Темами".
Тут, конечно, возникает вопрос - бот почти на 90% заменяет функционал всех вышеприведенных и нижеприведенных ботов, зачем вообще тогда пользоваться чем-то другим, если есть бот Rose?
Отвечаю: не сто́ит класть/ложить все яйца в одну корзину. Дело в том, что бекенд ни одного из этих ботов вы не контролируете. Придут эффективные менеджеры и сделают Rose платным, а у вас он отвечает буквально за всё - что тогда делать будете? Это элементарная диверсификация рисков. Потом спасибо скажете. Ценой моего распределения фукнционала среди ботов является повышенная сложность в их управлении, тут я согласен, но это приемлемая цена.
@ControllerBot добавляет в канал и группу посты с кнопками. Особенно красиво это смотрится в закрепленном сообщении;
Ну, а дальше идут опциональные боты, для которых я могу предоставить краткое объяснение:
@LiveGramBot организует кастомного бота-"предложку" для канала и/или группы. Это must-have для каналов, но не обязательный атрибут для группового чата;
Нужна капча на вход? Есть альтернатива Shieldy - @join_captcha_bot;
@GroupHelpBot - тот же менеджмент группы, как Rose;
@lang_blocker_bot - удобная штука, если вы противник какого-то языка, любите делить людей на много частей по разным критериям и вообще ксенофоб. Ну, в общем, как любой средний человек;
@noarab_bot - то же самое, только для ребят из Персидского залива и севера Африки;
@NoPigRobot - умеет удалять маты на английском языке.
Бонус: как приготовить группу в Телеграме (чек-лист)
Могу еще рассказать, как приготовить крупную группу, мой порядок действий:
Добавить аватар, информацию о группе, занять красивый юзернейм;
-
Включить темы. Главный топик по умолчанию (который называется General или Общий чат) лучше отключить, так как со временем он становится похож на помойку. А еще туда спамят боты-админы, особенно если разработчик не предусмотрел поддержку "Topics". Если прям нужна помойка, то всегда кнопка Единый чат в любом клиенте Телеграм. И ещё:
-
Не забыть создать служебные "Темы" на манер:
Основной чат/болталка (взамен заблокированного общего чата. Помогает отделить флуд от всех остальных тем в группе);
Обратная связь (что можно улучшить в группе, минусы, плюсы);
Changelog (что админы поменяли в группе и каким числом);
Правила группы, куда можно всех посылать.
В заблокированном главном чате можно повесить навигатор по группе-форуму, со ссылками на все "Топики" (служебное сообщение о создании "темы" содержит ссылку, скопируйте её).
-
Подключить всех ботов, сконфигурировать. Да, это самый долгий этап. Рекомендую обращаться к боту по шаблону
/<команда>@<ботнейм>
. Как пример,/start@MissRose_Bot
. Дело в том, что сама по себе команда - значение не уникальное, и лучше бы его адресовать конкретному боту, чтобы не было коллизий;В каждой теме расписать приветственное сообщение с объяснением, зачем эта тема нужна и что в ней приветствуется. Можно указать ссылку на "навигатор" из пункта 2;
Можно еще включить видеоконференцию в чате и выйти из неё, не выключая созвон - таким образом в группе появится иконка созвона, и туда можно будет прийти и побольтать. Как голосовой канал в Discord, короче;
Если вы не админ, вас заставили настраивать группу в Телеграме и ради этого привязали ногой к батарее в заброшке далеко от центра, кормя обещаниями "ну ты же ради опыта своего это делаешь, руку набьёшь!", то рекомендую ещё добавить краткий FAQ по командам ботов для администраторов, чтобы они не донимали вас однотипными просьбами в процессе сопровождения группы, когда вы передадите её на эксплуатацию.
Итоги
Со сроками случился полный провал, группа была настроена только за три дня - это с расчетом на то, что про ботов я ни черта не знал и всё узнавал самостоятельно, опрашивая админов в других чатах и в группах по ботам на манер вот этой или этой, или этой. Чтобы не забыть сие сакральное знание, решил оформить его в виде статьи.
У моих заказчиков, сиречь администраторов группы и чатика, прикрепленного к каналу, стало решительно меньше поводов заниматься непосредственно администрированием: человек раз в три дня заходит в группу, обкашливает фидбек, проверяет нарушения и уходит в закат. Чат живет, группа варится - активность какая-то есть, все довольны! Это всё благодаря ботам, которые автоматизировали практически все процессы в группе: небольшие фильтры в общении, ограничение по именам и юзернеймам новичков, капча, предупреждения.
Изредка бывают, конечно, перегибы в плане удаления огромного полотна текста из-за единственного мата в нём, но в таком случае модератор может прийти на зов и восстановить удаленное сообщение, учитывая его ценность. В процессе эксплуатации группы таких "косяков" всё меньше и меньше, так как участники группы с порядками уже знакомы.
Чего не хватает в этой публикации?
Я бы хотел узнать, каким образом админы пабликов создают вход в каналы и группы через ботов с кнопкой "Подать заявку". Это удобная штука, когда приток аудитории небольшой. А если подписчиков набирается очень много за день, то можно включить автоматическое одобрение заявок в таком боте. Я вот не знаю пока что, каким образом такой флоу строится? На чём, на каком боте? Для админов такая система входа в группу очень удобна - у юзера будет и группа, и бот, а в боте можно ещё и рекламу постить. Конечно, как юзер, я не буду рад, если в какой-то закрытый чат надо пробираться через такие вот медные трубы...
Еще такая ситуация - допустим, канал и прикрепленный к нему чат находятся на публичных юзернеймах и их всегда можно найти по ссылке. Я хочу сделать, чтобы и канал, и чат перешли на приватные ссылки, а публичные надо бы занять либо тем самым ботом из абзаца выше, либо простым пабликом-болванкой с актуальной приватной ссылкой на оригинал. Вопрос: не слетит ли прикрепленный чат и не потеряет ли связь база комментов чата и паблика? Один раз такое было по другой причине, и мне не хочется факапить снова.
Хотелось бы, вдобавок ко всему, подключить геймификацию - например, знаменитое combot'овское "улучшение репутации", когда ты благодаришь собеседника, и бот тому выписывет одно дополнительное очко репутации. Но у combot'а оно скрыто за премиумом - весьма дорогим в пересчёте на один чат, к слову! К сожалению, бесплатных решений я не нашел.
Так и не научился делать трансляции и анонсы трансляций в таких вот группах-форумах со включенными "Темами". С помощью каких ботов такое делается и каким образом люди получается уведомление с анонсом стрима - я не в курсе, к сожалению.
Минусы
Предупреждаю, что конфиденциальность и (частично) анонимность администраторов, если вы будете следовать рекомендациям данной статьи, будет под угрозой.
Следите за руками: любой бот в теории может спалить ИД всех участников, вошедших и вышедших из такого чата, с временны́ми отметками и докладом персональному товарищу майору. Про ИД админов, которые невзначай запостили что-то в группе от своего имени, а не от имени чата, тоже могут быть затреканы. Такие права у ботов появляются автоматически, и ведь никто не гарантирует, что боты не трекают активность пользователей, верно? Такова цена удобства - знать, что, возможно, твою активность мониторят.
Это особенно актуально для админов (около-)политических каналов и групп, таким я не рекомендую пользоваться ни одним из вышеназванных ботов, да и вообще не рекомендую пользоваться сторонними ботами вообще! Лучше пишите свой бекенд для бота - целее будете.
Если я этим вас серьёзно напугал, то прошу в срочном порядке удалить свой аккаунт в Телеграме, выключить Интернет, отдать мне свой компьютер и уйти в лес трогать траву. Остальные 100% прочитавших статью вполне себе осознают все вышеупомянутые риски и уходить в анархо-примитивизм не собираются.
Вот и всё!
Надеюсь, данный путь самурая поможет новичкам понять, какие боты им нужны для работы в групповом чате и как корректно их настроить.
dotoshi
Спасибо за статью :) согласен, tgdev лучшие. Я бы добавил в подборку мастхэв ботов johnhide bot, который удаляет сообщения о присоединении какого-то участника к группе. Очень хорошая вещь.