Обновить
6
0
Дмитрий Семенко@dsemenko

Java/Kotlin developer

Отправить сообщение

Если я пишу на java и kotlin в продакшн, это считается за 2 языка? :D

В paymentScheduler есть строка let daysLeft = payment.daysBeforePayment();
В переменной daysLeft будет кол-во дней, оставшихся до очередного платежа (строка, где не нажата галка с оплатой).
Далее идет проверка, есть ли под это кол-во дней подходящее сообщение в словаре

const PAYMENT_MESSAGES = {
  0: "Напоминалка: сегодня тебе надо внести %amount₽ в копилку для челленджа",
  1: "Напоминалка: завтра тебе надо внести %amount₽ в копилку для челленджа",
}

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

function paymentScheduler() {
  let payment = getCurrentPayment();
  let daysLeft = payment.daysBeforePayment();
	// Если до платежа осталось 7 или менее дней
	if (daysLeft <= 7) {
    tgBot.sendMessage(`Необходимо внести ${payment.getAmount()}₽`);
	}
}

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

Согласен, но ради удовольствия и для себя можно :)
Вообще цель статьи именно продемонстрировать возможности Apps Script на этом примере, я просто не хотел лить воду в статью и объяснять, зачем я это пишу.

Была бы хорошая память, не пришлось бы программировать напоминалку ¯\_(ツ)_/¯

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Средний
Java
Kotlin
Java Spring Framework
Linux
Python
JavaScript
Базы данных
ООП
Git
SQL