Пишу Google Apps Script для автоматического поздравления клиентов клуба с днём рождения в Telegram канал
- Нужно создать новый Google календарь для хранения данных об именинниках.
Перенос данных в календарь
-
Имеющаяся база в Google таблице - будет оптимизирована: -добавлена кнопка: копирование выбраной строки; -добавлено меню: копирование данных в календарь (нужно в самом начале для переноса большого объёма данных, настроить триггер запуска по времени каждые 5минут, установить кол-во строк для загрузки около 50)
-
Справа в таблице нужно добавить колонку с флажками. Изначально они все путые (false). Когда скрипт загрузки в календарь начнет проверять строки, то он изменит статус флажка (true) и постарается скопировать данные.
-
Если копирование данных происходит по выбраной строке, то у пользователя уточняется - точно ли нужно копировать её.
-
Если ячейки с датой или именем не будут заполнены, то при попытке скопировать данные они будут окрашены в розовый цвет.
-
Если ячейка с датой содержит не дату, а что-то другое то она будет окрашена в розовый цвет и не скопируется в календарь.
-
Добавлен скрип ежедневной загрузки данных в календарь.
- Скрипт берет в календаре вчерашние события;
- находит ключевое слово "dinamicRow хх"
- извлекает цифру рядом с ключевым словом (означает последнюю заполненую строку в таблице за день)
- находит новую заполненую строку в таблице уже в другой день, получает разницу между двумя значениями - тоесть диапазон для загрузки именинников в календарь.
- проверяет данные на коректность и выполняет создание событий в календаре.
- каждому событию присваивается статус "ежегодное напоминание"
- после всех операций формируется новое событие с названием "dinamicRow хх" и записывается в текущую дату.
- если значение "dinamicRow хх" за вчера и номер последней строки за сегодня - одинаковы, а данных для загрузки нет, то скрипт переносит старый "dinamicRow хх" в новый день.
Поздравление именинников
-
У клуба есть Telegram чат, ID которого необходимо узнать и потом внести в скрипт
-
Нужно создать Telegram бота, ID которого необходимо узнать и потом внести в скрипт
-
В таблице нужно создать отдельную страницу с поздравлениями.
- каждое поздравление должно быть не очень длинным, иначе позже будет "ошибка длины URL" (например 125 символов)
- поздравления можно добавлять или удалять.
- На текущую дату скрипт делает выгрузку именинников из календаря
- формирует строку имён через запятую
- берет случайное поздравлительное сообщение из таблицы. Перемешивает оставшиеся варианты. Если будет мало вариантов, то они будут повторяться.
- формирует сообщение для бота с смайликами
- отправляет URL ссылку в интернет (публикует в Telegram)
- На отдельной странице в таблице делается отчёт об выгрузке именинников (дата, список имён). Запись добавляется вниз по мере работы скрипта.