Бесплатный саммари бот для Telegram-сообществ
Я состою в нескольких Telegram-чатах, обсуждения в которых мне интересно читать. За день в одном чате может набегать по 500-1000 новых сообщений. Помимо этого у меня есть собственное сообщество в Telegram (чат), за которым я не всегда успеваю следить. И вот беда: читать по несколько тысяч сообщений в день и совмещать это дело с жизнью в реальном мире, где есть работа, семья, друзья — немного тяжеловато.
Меня постоянно преследует страх упустить что-то важное и интересное (FOMO), но ещё больше меня раздражают счетчики количества непрочитанных сообщений в Telegram.
Возникла идея. Я же теперь "айтишник" (2 года назад свичнулся из строителей в разработчики), так почему бы не применить свой навык кодинга и не попробовать написать решение данной проблемы, а именно Telegram-бота, который будет ежедневно пересказывать что обсуждали в чате за прошедший день. А для создания краткой выжимки задействовать искусственный интеллект, который будет анализировать сообщения и выделит наиболее важные и ценные сообщения.
Идея и реализация
Так уж вышло, что начало моего отпуска совпало с подхваченным ОРЗ, поэтому свободного времени было вагон, а вот возможность провести этот отпуск активно была сведена к нулю. После пары дней просмотра сериалов и чтения Telegram-чатов как раз и возникла идея написать бота, который бы делал саммари сообщений в чате за день.
Ботов обычно пишут на языке Python, но я написал его на том, на чем умею, а именно на Kotlin.
Что бот умеет на текущий момент?
Пока реализовал только 3 функции (1 автоматическая, 2 ручные).
1. Автоматическая отправка саммари чата за сутки.
После добавления бота в группу или чат, бот будет собирать сообщения в чате за последние 24 часа, чтобы в 20:00 по МСК выдать краткую выжимку беседы (публикация происходит в чат, куда подключен бот). Вот пример саммари из одного IT-сообщества, куда был добавлен бот:
Помимо краткого пересказа сообщений бот добавляет ссылки на сообщения, чтобы можно было перейти и прочитать первоисточник.
2. Отправка саммари пользователя по запросу.
Если написать в ответ на сообщение любого пользователя команду /summary, то можно получить краткий пересказ последних 100 сообщений этого пользователя. Вот что выдал бот, когда я попросил его сделать саммари очередного спамера-мошенника, который вступил в чат, чтобы предложить какие-то курсы.
Отмечу, что бот не имеет доступа к сообщениям, которые были отправлены в чат ДО момента добавления бота, поэтому в саммари (как общих, так и персональных) этих сообщений вы не увидите.
3. Опровержение или подтверждение правдивости высказываний.
В ответ на сообщение пользователя можно отправить команду /proof и получить "авторитетное и непредвзятое" мнение ИИ. На самом деле функция скорее для баловства, чем для реальной пользы, так как не всегда работает корректно. Но, тем не менее, на вопрос с подковыркой ИИ ответил правильно.
Обратная связь
На текущий момент Telegram-бот абсолютно бесплатен и работает уже в 6-ти чатах, в каждом из которых по 2000-3000 участников. Если у вас есть своя группа(чат) в Telegram, буду благодарен если протестируете, дадите обратную связь по работе бота и подкинете новых идей для реализации. Собственно, ссылка на самого бота: @ChatNorrisBot