Всем привет :)

Хочу показать вам свою разработку и очень хотелось, чтобы эта вещь стала полезной не только мне и моему окружению, а всем-всем-всем.

image

И сразу к делу. Это бот для телеграмма. Называется он так: EventPlannerChecker

По этому имени вы его можете найти с помощью поиска в телеграмме.

Что он делает и кому может пригодится? Расскажу на своем примере зачем я его делал и почему начал применять.

Я люблю играть в футбол и состою в разных группах в вайбере и телеграмме, где разные люди объединяются для совместного «поиграть в футбол». И обычно сбор в таких группах происходит довольно просто:
-Ребята, сегодня играем, время 20:00, поле такое-то. Ставим плюсы и минусы.

И дальше в чат начинают сыпаться плюсы, минусы, обсуждения будущей игры и прочее. Сколько людей попадет на ивент — важно не только организатору. Многие игроки принимают решение о том идти или нет в зависимости от того, сколько человек уже отозвалось и кто отозвался. И ты начинаешь считать плюсы, минусы, пытаешься понять кто идет а кто нет и делаешь это не один раз за все время, пока идет сбор людей на ивент.

Я думаю с таким сталкивались многие, кто хоть раз где-то в группах собирал или сам собирался с чьей-то помощью на какие-то мероприятия.

И вот недавно я попал еще в одну футбольную группу, в которой ребята собирались на мероприятие с помощью бота. Он умел принимать реакции участников группы и отображать эти реакции в специальном сообщении.

Мне показалось это очень удобным, но я заметил ряд недостатков, которые этот бот создавал своей работой. И так как ребята были айтишниками, я предложил им внести кое какие изменения в код бота, чтобы он стал удобнее. И выяснилось, что это просто какой-то сторонний бот, к коду которого ребята не имели никакого отношения и править его не могли.

Ну а так как я уже имел дело с ботами, я понял — это мой шанс сделать еще что-то полезное и практичное для этого мира :)

Теперь соль:
  • бот умеет создавать специальное ивентное сообщение, к которому прикреплены управляющие кнопочки;
  • при помощи специальных колбек кнопочек любой участник группы может отметить свое желание\нежелание принимать участие в указанном мероприятии;
  • бот выводит информацию о всех реакция участников и автоматически ведет подсчет тех, кто отозвался положительно.

Ивент создается очень просто. Вы пишите боту команду:

/event Название ивента 

Название указывать обязательно, т.к. пустые ивенты бот не хочет создавать.

У него принципы есть :)

Пример на скрине:

image

По поводу секьюрности мне уже задавали вопрос, потому напишу сразу. Приватность бота выставлена так, что он не имеет доступа к сообщениям в группе. Он получает только те сообщения, которые адресованы лично ему и реакции на колбеки под сообщением.

Вы можете спросить: «Зачем столько кнопок с галочками, крестиками, плюсами и минусами?».

Ими я покрываю все возможные варианты вашего участия в мероприятии:

  • отдельно вы отмечаете лично свое участие: галочка или крестик
  • а + и - позволяет вам показать, что с вами или без вас это мероприятие может посетить еще кто-то, кто отсутствует в этой группе.

Написан на java, крутится на амазоне.

С ботом можно общаться и в личку, он точно также будет создавать для вас сообщения с ивентами. Но пользу он начинает приносить, когда вы добавите его в группу.

Ну и надеюсь, что сфера применения бота не будет ограничена только футбольными группами. Он умеет собирать людей на любые мероприятия :)

Буду благодарен за любые отзывы и предложения :)

UPDATE от 11.11.19
Часто в личку спрашивают, как заставить этот бот работать в каналах.
Вот тут есть нюанс в работе телеграмма именно с каналами.
Боту не приходят сообщения, которые вы постите в канал.
А так как он не видит сообщений — он не сможет с ними работать. Он не может создать ивент в автоматическом режиме.

Как вариант можно сделать вариант команды, которая будет отправлять созданный ивент целенаправленно в указанное имя канала. Я над этим подумаю и возможно добавляю такую функцию.

Пока что на данный момент бот умеет работать только в группах\чатах.

Комментарии (16)


  1. nshipyakov
    08.11.2019 12:29

    со ссылкой на код было бы поинтересней. ну или с примерами кода в статье. а так лайк, что не поленился!


    1. dp_ua Автор
      08.11.2019 12:35
      +1

      Спасибо, подумаю над этим.
      Возможно не по коду именного этого бота, а предложу основу того, на чем этот бот строился.


  1. Doomsday_nxt
    08.11.2019 12:43

    В вк давненько уже есть тип страничек «Событие» вроде бы… Там кроме «пойду» или «не пойду» были ещё варианты «возможно пойду», «возможно не пойду»… Тоже было бы полезно…

    На самом деле часто бывает сложно не сколько собрать людей, я сколько выбрать место и время для встречи. Приходится собирать у всех свободное время, хотелки и пр… и искать пересечения. А потом ещё всех обратно оповещать и собирать уже фидбек (кто пойдёт или не пойдёт). Вот такая софтина была бы полезной…


    1. dp_ua Автор
      08.11.2019 12:47

      это можно добавить как один из функционалов. Типо ивент с вариантами выбора. В варианты выбора прописать время, дату, место.
      Добавлю себе в туду, спасибо за идею.


    1. dp_ua Автор
      08.11.2019 12:57

      Кстати по этому поводу тоже уже встречал отзывы. И фейсбук в пример приводили и вк.
      Но здесь получается чуть удобнее и информативнее. Все таки группы в вайбере и телеге строятся по более личному принципу, чтоли… и Общение в них более живое и полноценное.
      Мне просто понравился опыт ребят, которые это с помощью бота делали, но функционал бота был так себе.
      А так как все, что сделаешь сам под себя — всегда удобнее — потому запилил своего.

      Вот у меня статья на модерации была 1.5 дня… За это время уже были разные отзывы получены и буквально сегодня функционал чуток расширился… Бот уже умеет учитывать сомневающихся… Тоже удобно оказалось :)


  1. WarL0ck
    08.11.2019 12:44

    Забавно. Недавно закончил подобного бота на js для планирования игровых встреч. Надо наконец-то закончить мануал и выложить код на github.
    Вот цитата из начатого мануала

    Возможности бота

    регистрация новых игроков
    смена ника
    просмотр списка городов
    добавление своего города (название, временная зона)
    просмотр мест встреч в городе
    добавление новых мест для встреч
    подробное описание места встречи (название, адрес, местоположение на карте)
    просмотр встреч в выбранном месте (место, дата, время, список игроков, их готовность собраться)
    добавление новых встреч (место, дата, время)
    запись на встречу, изменение статуса своей готовности сыграть
    оповещение игроков о предстоящих встречах, на которые он записался
    оповещение игроков о изменении статуса игроков своих встреч
    подписка о добавлении новых встреч

    Выложу, кину ссылку возможно будет полезно кому


    1. dp_ua Автор
      08.11.2019 12:48

      Клево. Выкладывай, будет интересно


  1. maxzh83
    08.11.2019 13:47

    Не пользуюсь телеграмом, но там вроде можно голосование сделать, не?


    1. dp_ua Автор
      08.11.2019 14:11

      Не совсем так.
      Прямой голосовалки там нет.
      Можно поставить спец бота, который там будет какие-то реакции фиксировать.

      А нюанс этого бота, что он фиксирует список людей, кто в голосовании отзывается. Дает возможность разные варианты своего участия проставлять.

      И вся соль в том, что бот заточен и оптимизирован именно вот под такие ивенты, где нужно быстро понять кто идет, в каком количестве. Чтобы было максимально удобно быстро проставить голос и быстро понять кто поставил, сколько их и принять какие-то решения на основе этого.


      1. QDeathNick
        08.11.2019 14:29

        Давно уже добавили функцию опроса прям в клиент без всяких ботов.
        Но да, опрос анонимный.

        А вот с помощью vote можно сделать публичный опрос и там будет видно кто за что проголосовал, мы им пользуемся для согласования времени или места и других хотелок.


        1. dp_ua Автор
          08.11.2019 14:39

          Да, туплю, вспомнил что такая штука появилась недавно.
          Мы игрались ею. Но забросили почти сразу. Очень маленькая информативность получается. Настолько забросили — что я даже забыл что она есть )))))))


        1. dp_ua Автор
          08.11.2019 18:31

          Спасибо за vote. Очень пригодится.
          Особенно в школьной группе, где народу много сидит и нужно такие мнения собирать.


  1. DiZiNnEs
    08.11.2019 14:38

    Ух ты! Сделаю такой же только на python так для практики)


  1. Gatorr
    08.11.2019 17:44

    Здорово, конечно, но уже очень давно существует намного более гибкий @quanbot, где можно настроить вообще всё, от отображения голосующих до текста на кнопках и даже ссылок на них.


    1. dp_ua Автор
      08.11.2019 18:00

      Спасибо, посмотрел.
      У такой системы есть как свои плюсы — это вот те самые гибкости, возможности настройки.
      И есть и минусы — и как не странно, они касаются тех же причин, что и плюсы.

      У меня же чуть другая идея — минималистично простой и максимально комфортный инструмент для очень ограниченного ряда задач.
      Микроскопом можно гвозди забивать, но на практике такое нужно очень редко. Поясню.
      Если ты ведешь группу, канал — и это твой заработок или работа и тебе нужно максимально эффективно взаимодействовать с аудиторией. Ты возмешь такой инструмент и будешь целенаправленно создавать сложные опросы, менять настройки, добавлять\удалять кнопки.

      Я же предлагаю инструмент для лентяев(в хорошем смысле слова), которые хотят получить максимум качества при минимуме усилий :)


  1. temnyivecher
    12.11.2019 12:32

    Вариант работы с каналами:
    Добавляйте бота в канал админом
    В админке с ботом добавляйте название канала по типу: /new_channel name-channel
    Для проверки можно сделать так, что бы он отправлял тестовое сообщение типа «Планировщик добавлен в канал»
    И после этого /new_event channel name-event