{"id":14287,"url":"\/distributions\/14287\/click?bit=1&hash=1d1b6427c21936742162fc18778388fc58ebf8e17517414e1bfb1d3edd9b94c0","title":"\u0412\u044b\u0440\u0430\u0441\u0442\u0438 \u0438\u0437 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0434\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0437\u0430 \u0433\u043e\u0434","buttonText":"","imageUuid":""}

Pet project: Telegram-Бот, который напоминает об оплате подписок

На новогодних каникулах сидел скучал и пришла идея запилить какой-нибудь pet project и довести его до состояния, чтобы можно было и самому пользоваться и другим не стыдно показать. В статье расскажу про функционал, технологический стэк и подводные камни. Поехали.

Recurrently_bot

Telegram-бот, который напоминает об оплате подписок и других регулярных платежей. Ниже прикладываю ссылку, куда можно потыкать.

Что умеет?

Реализовал уведомления в 3 сценариях:

  • Окончание пробного периода.
  • Ежемесячная подписка
  • Ежегодная подписка

Дополнительный функционал:

  • ставлю зелёную галочку рядом с оплаченными подписками,
  • ставлю молнию у подписок, которые ещё предстоит оплатить,
  • считаю общую сумму подписок и пишу, сколько из них уже оплачено.
  • Добавление подписки занимает до 7 секунд. ну это я на себе замерил 😊

Уведомления

Уведомления о предстоящей оплате приходят за 1 день до оплаты и непосредственно в день оплаты. Сначала хотел сделать промежуток между датой и уведомлением побольше, но подумал, что посмотрю на уведомление, подумаю, что ещё куча времени и забуду отключить подписку. Оставил себе в коде число дней в качестве переменной. Если захочу, изменю это число в будущем.

Технологический стэк

  • Python
  • Яндекс Облако, Yandex Cloud Functions
  • Managed Service for YDB, YQL

Решил остановиться на отечественном облачном решении, потому что точно не будет проблем с внезапной приостановкой деятельности и блокировкой аккаунта. Не придётся внезапно всё переписывать и переносить БД. Да и можно платить с российской карты, не запариваясь с VPN и переводами денег за границу.

Это был мой первый опыт с настройкой облачного сервера и СУБД под свои нужды. Было достаточно интересно и в целом интуитивно понятно, куда тыкать. Хотя с YQL я конечно повозился 😊

Блок с фотографиями

0
11 комментариев
Написать комментарий...
Vlad

Я не знаю дату подписки она не светится. Светится только "через 24 дня оплата", как то этот вариант прикрутить можете ?

Ответить
Развернуть ветку
Fun Rizer
Автор

Хорошая идея. Подумаю, как это сделать :)

Ответить
Развернуть ветку
Maxim Zaitsev

Невозможно установить дату подписки на 29, 30, 31 число. Видимо, из-за текущего месяца (февраль 28 дней). Предлагаю добавить опции: последний день месяца, предпоследний день месяца

Ответить
Развернуть ветку
Fun Rizer
Автор

Спасибо за замечание! Поправил.

Ответить
Развернуть ветку
Andrew Oz

Я тоже разработал приложение, напоминающее о подписках. На любой ОС работает без проблем. Называется будильник

Ответить
Развернуть ветку
Vitaliy Ivanov

Под этим комментарием идеально вписывается "и чо?"

Ответить
Развернуть ветку
ondefeat

Кажется, сюда неплохо "и то" зайдёт.

Ответить
Развернуть ветку
Vitaliy Ivanov

Я правильно понимаю, что вы тоже не понимаете разницы между ботом и будильником?

Ответить
Развернуть ветку
ondefeat

Ну мы же говорим про приложение будильник, верно? И про задачу "оповести меня о наступлении определенного события". В целом, существуют приложения позволяющие поставить как раз тот же будильник на любую дату и сделать его повторяющимся. И в конечном счете задача - получить уведомление вовремя.

Бот в ТГ канале чем-то принципиально лучше?

Ответить
Развернуть ветку
Vitaliy Ivanov

В таком раскладе, наверное, только местом откуда идут уведомления. Аля "не плодить кучу приложений", а в целом согласен, что возможно и разницы нет

Ответить
Развернуть ветку
Andrew Oz

ЧТД

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
8 комментариев
Раскрывать всегда