Вы тоже забываете про дни рождения друзей? Расскажу про способ, который избавил меня от этой проблемы.
Проблема выглядит странной, ведь есть куча готовых решений, например - календарь. Один раз настраиваешь и забываешь навсегда.
Я пробовал так делать, но все равно пропускаю события. Календарь для меня не работает. Использовать варианты заточенные для какой-то из одной платформ (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
Нет друзей - нет проблем
Проблемы социоблядей хикканов не волнуют.
Ставишь в Календарь запись что бы повторялась каждый год в 9 утра этого же дня.
Да, но как говорилось в статье, я легко могу пропустить уведомления от календаря. Если для тебя они работают, здорово
Да пошли они нахуй. Если они друзья, то я и так на их дне рождения в этот самый день нахожусь, напитый пивом до беспамятства
Комментарий недоступен
Комментарий недоступен