Вы тоже забываете про дни рождения друзей? Расскажу про способ, который избавил меня от этой проблемы.

Вы тоже забываете про дни рождения друзей? Расскажу про способ, который избавил меня от этой проблемы.

Проблема выглядит странной, ведь есть куча готовых решений, например - календарь. Один раз настраиваешь и забываешь навсегда.

Я пробовал так делать, но все равно пропускаю события. Календарь для меня не работает. Использовать варианты заточенные для какой-то из одной платформ (Linux, Windows, MacOS) не хотелось. Нужен был железобетонный вариант.

Задался вопросом "Где я никогда не пропущу сообщения?" и ответ пришел само собой - Telegram. Так появилась идея написать бота, который будет напоминать мне про дни рождения.

Но ведь дни рождения, это всего лишь частный случай. А что если я хочу получать напоминания, что надо заплатить за интернет, парковку или что нужно принять лекарства (чувствую себя стариком)? Или нужно вернуться к какому-то вопросу через несколько часов? Задача чуть усложнилась. А что, если бот нужен не в личной переписки, а в группе?

Придумывание новых фичей меня полностью поглотило. Стал набрасывать список, что было бы полезно или интересно сделать:

  • [✅] поддержка вариативности напоминаний: разовые напоминания, относительные (через Х времени), ежедневные, еженедельные, ежемесячные и ежегодные. Можно отправить сообщение боту "Проверить задачу в 17:30", и если сейчас будет 17:31, то бот поймет, что нужно запланировать это напоминание на завтра, в 17:30
  • [✅] возможность создать напоминание не только через бота, но и через веб интерфейс. Пожалуй, это было сделать в разы сложнее, чем самого бота
  • [✅] Отображение событие в веб интерфейсе и в боте в хронологическом порядке. Например, можно посмотреть какие ежегодные события будут в ближайшее время и понять, что ближайший ДР будет у такого-то знакомого.
  • [✅] при создании события через веб интерфейс, для регулярных событий показываются ближайшие даты, когда произойдет уведомление. Можно залипательно играться и смотреть, как меняются даты ближайших событий, например, когда мы ставим напоминание на "последний понедельник месяца".
  • [✅] бот не должен иметь доступа к сообщениям (актуально для групповых чатов). Пока явно к нему не обратишься, он ничего не узнает. Видел ряд ботов со схожим функционалом и каждый раз хотелось взгрустнуть от того, что "Бот имеет доступ к сообщениям"
  • [⏳] поддержка разных языков. Фундамент для поддержки различных языков уже поддержан, но хочется оставить эту фичу как-нибудь на потом
  • [⏳] создавать напоминания через голосовой помощник "Алиса"
  • [⛔] возможность отправлять боту аудиозапись, а он превращал это в текст и понимал, какое событие нужно запланировать
  • [⛔] возможность в веб интерфейсе редактировать напоминания в группах. В добавок к этому пока не продумал, в какой временной зоне должны писаться отбивки
  • [⛔] Присылать напоминания о скором событии (например, которое происходит раз в год. Мы же хотим заранее подготовится к дню рождения друга?)
  • [⛔] Присылать напоминания до тех пор, пока не будет нажата кнопка "Сделано". Для тех, кто прочитал сообщение и не сделал, о чем сам себя просил =)

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

Создание напоминаний через Алису интересная задача. Сначала нужно написать навык, к которому мы, как пользователи, и будем обращаться, затем связать учетную запись Яндекса с учетной записью Telegram - нужно понимать, куда слать пришедшее сообщение от Алисы. После этого научить понимать не совсем ожидаемый формат, например, ты говоришь Алисе "Позвонить в 17:00", а она вернет текст "Позвонить в 17 0 0". Нужно как-то с этим работать. Все бы ничего, но форматов сообщений большое множество. Решил прикрутить GPT и на выход отправлять текст в ожидаемом формате. Получилось сделать, но функционал еще не готов для прода, поэтому доделаю попозже. Тот момент, когда первый раз пользуюсь GPT в коде 😅

Возможность отправлять боту аудиозапись не выглядит rocket science. Есть куча различных API, которые позволят преобразовывать короткое аудио в текст (ну либо писать самому, здесь хочется сэкономить свои ресурсы и воспользоваться готовым решением), оставил на потом.

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

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

Решил назвать бота "Шепчущий колокольчик" (Whisper Bell) т.к. колокольчик у меня ассоциируется с уведомлениями, а шепчущий с ненавязчивостью.

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

В боте нет ни одной платной фичи или рекламы, чего не скажешь о ботах с похожим функционалом.

Ниже несколько скриншотов веб приложения:

Вы тоже забываете про дни рождения друзей? Расскажу про способ, который избавил меня от этой проблемы.

Вот так выглядит страница создания/редактирования события

Вы тоже забываете про дни рождения друзей? Расскажу про способ, который избавил меня от этой проблемы.

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

Вы тоже забываете про дни рождения друзей? Расскажу про способ, который избавил меня от этой проблемы.

Доступные форматы сообщений можно посмотреть в разделе /formats

И да, теперь я не забываю ни про дни рождения, ни про своевременную регистрацию на рейс

Интересно узнать, с помощью каких инструментов вы решаете эту проблему?

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

Если вы не попробовали бота, то накидывать тоже можно, это ж DTF

3939
80 комментариев

Нет друзей - нет проблем

27
Ответить

Проблемы социоблядей хикканов не волнуют.

15
Ответить

Ставишь в Календарь запись что бы повторялась каждый год в 9 утра этого же дня.

4
Ответить

Да, но как говорилось в статье, я легко могу пропустить уведомления от календаря. Если для тебя они работают, здорово

Ответить

Да пошли они нахуй. Если они друзья, то я и так на их дне рождения в этот самый день нахожусь, напитый пивом до беспамятства

2
Ответить

Так ты их не поздравил
Нахуй тебя звать
А раз забыл значит и подарок не купил

Сиди пей пиво дома в одиночестве

1
Ответить

Найс реклама платной залупы

2
Ответить