В 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 в продакшн, это считается за 2 языка? :D
В paymentScheduler есть строка
let daysLeft = payment.daysBeforePayment();В переменной daysLeft будет кол-во дней, оставшихся до очередного платежа (строка, где не нажата галка с оплатой).
Далее идет проверка, есть ли под это кол-во дней подходящее сообщение в словаре
тут скрипт рассчитан, что мы точно знаем, за сколько дней и какое сообщение надо отправить. Для вашего кейса можно убрать эту логику с определением сообщения, и просто работать с кол-вом дней до платежа. Например
Если день оплаты уже прошел, daysLeft примет отрицательное значение, уведомления продолжат поступать. Но тут уже предвижу проблему: если пропустить 2 и более платежа, сообщения будут поступать только с суммой первого пропущенного, боюсь тут без изменения логики не обойтись.
Согласен, но ради удовольствия и для себя можно :)
Вообще цель статьи именно продемонстрировать возможности Apps Script на этом примере, я просто не хотел лить воду в статью и объяснять, зачем я это пишу.
Была бы хорошая память, не пришлось бы программировать напоминалку ¯\_(ツ)_/¯