Как Telegram-бот «Чат Норрис» захватил 9000 Telegram-чатов
Год назад во время летнего отпуска я немного приболел и от скуки решил написать Telegram-бота (с названием Chat Norris), который мог бы делать краткую сводку всех обсуждений в Telegram-чате за сутки. После написания основного функционала я попросил знакомых админов добавить MVP-версию этого бота в свои чаты, чтобы протестировать работу и дать обратную связь.
Уже через месяц бота добавили в 100 различных чатов и я понял, что идея имеет право на жизнь и можно работать над расширением функционала. Изначально бот крутился на моем домашнем компе, но, когда от пользователей стали поступать регулярные жалобы о неработоспособности бота в ночное время, пришлось арендовать VPS-сервер.
Сейчас бот работает почти в 9000 чатов, куда ежедневно присылает краткие саммари. Изначально бот мог только генерировать саммари и знал всего несколько команд: подтвердить или опровергнуть утверждение в чате и прокомментировать текущее обсуждение. В течение года было реализовано множество дополнительных функций по запросу пользователей. Постараюсь кратко описать доступный функционал на текущий момент.
Автоматическая публикация саммари сообщений в Telegram-чате
Это основная идея и функция бота Чат Норрис. Нужно просто добавить бота в свой чат и раз в сутки бот будет выдавать краткое изложение основных обсуждений в чате.
Именно с этой функции все и началось год назад. Создавая бота, я закрывал собственную боль, ведь прочитать краткое изложение сообщений в своем чате на 2000 человек – это всего 2 минуты времени вместо 20-30 минут, если читать полностью все сообщения. Таким образом я стал первым реальным юзером своего же бота и с точки зрения собственного пользовательского опыта, понимал, какого функционала не хватает боту.
Изначально бот мог публиковать саммари только в определенное время (20:00 по МСК) и никаких дополнительных настроек не было. За год функция саммари обросла дополнительными опциями, которые можно найти в настройках бота.
FAQ чата
Бот поддерживает полноценную систему часто задаваемых вопросов. Вы можете загрузить в него обширный список вопросов и ответов, и по команде /faq пользователи смогут получать готовые ответы из этой базы.Количество информации не ограничено — можно загрузить в бота целую "энциклопедию" из десятков сообщений по 4096 символов каждое. Бот всё сохранит и будет использовать при ответах, обеспечивая быстрый и удобный доступ к нужной информации.
Функцией часто пользуются группы различных ЖК, загружая в качестве FAQ основную информацию о доме, контакты диспетчерских служб, управляющей компании и т.п.
Режим форума
Если ваша группа представляет собой форум (имеется список топиков/тем), то можно в настройках бота выбрать режим форума. В этом режиме можно добавить до 5 различных топиков, для которых бот будет генерировать ежедневные саммари.
Если оставить режим чата, то бот будет анализировать сообщения их всех топиков и публиковать общее саммари в главный топик #General.
Индивидуальный саммари-бот
У каждой группы в Telegram есть возможность обзавестись собственным, уникальным ботом под своим брендом. То есть можно создать персонального бота, который будет выполнять те же функции, но при этом будет выглядеть как «свой»: с индивидуальным именем, с уникальным описанием, с любой выбранной аватаркой.
Ваш личный хейтер
Прожарка постов - моя любимая дополнительная функция, которой я сам активно пользуюсь. Если у вас есть Telegram-канал, где вы публикуете посты и у вас открыты комментарии, то включив функцию «прожарки постов» бот станет вашим личным хейтером. Он довольно токсично, но при этом конструктивно разнесет любой ваш пост сразу после публикации. Это особенно забавно, когда многие пользователи даже не догадываются, что волна хейта исходит не от реального человек, а всего лишь от бездушной нейросети. То есть люди всерьез вступают в дебаты с ботом, пытаясь доказать, как он неправ.
Голосование за бан с анализом от ИИ
Во многих анти-спам ботах реализована функция /voteban, когда участники чата без участия админа могут выгнать/забанить любого пользователя с помощью голосования.
Я решил пойти немного дальше и прикрутить к этой функции ИИ. Когда будет вызвана функция голосования за бан (в моем боте она названа немного по-иному: /pnh), бот проанализирует что писал пользователь, предъявит ему обвинения и попросит других участников чата принять решение: казнить пользователя или оправдать. Доступна гибкая настройка этой функции, можно выбрать:
• тип наказания (бан, кик, мут),
• продолжительность голосования,
• необходимое количество голосов для наказания.
Другие ИИ-команды, которые можно вызвать в чате
/summary — сделает краткое саммари последних 100 сообщений конкретного пользователя
/gpt — ответит на любой вопрос с помощью нейросети
/proof — проверит, насколько утверждение соответствует фактам
/comment — оставит комментарий по текущей теме обсуждения
/roast — токсично подшутит над сообщением в чате
Если какие-то команды вам не нужны, то их можно отключить в настройках бота. Это может быть полезно, если в чате начинают активно спамить командами.
Админка
Реализовано полноценное меню, где можно управлять настройками бота в ваших группах. Старался делать все интуитивно понятным, прикладывая подробные инструкции к каждому пункту. Понимаю, что в идеале должна быть одна кнопка «Сделай хорошо», но на практике у всех разные предпочтения. Например, кто-то хочет, чтобы в саммари были кликабельные упоминания пользователей, а кто-то наоборот, не хочет получать уведомления о каждом упоминании в чате, тем более если тегает бот, а не человек. Поэтому решил оставить возможность тонкой настройки — чтобы каждый мог выбрать по себе.
Бот доступен по ссылке https://t.me/ChatNorrisBot. Если у вас группа более, чем на 100 участников и вам не хватит функций на бесплатном тарифе – напишите мне в TG (контакт найдете внутри бота) с указанием, что вы с VC - предоставлю 2 недели доступа к расширенному функционалу бесплатно. Попрошу лишь взамен дать конструктивную обратную связь и предложения по улучшению функционала.