Giter Site home page Giter Site logo

customer_greetings's Introduction

Customer_Greetings

Пишу Google Apps Script для автоматического поздравления клиентов клуба с днём рождения в Telegram канал

  1. Нужно создать новый Google календарь для хранения данных об именинниках.

Перенос данных в календарь

  1. Имеющаяся база в Google таблице - будет оптимизирована: -добавлена кнопка: копирование выбраной строки; -добавлено меню: копирование данных в календарь (нужно в самом начале для переноса большого объёма данных, настроить триггер запуска по времени каждые 5минут, установить кол-во строк для загрузки около 50)

  2. Справа в таблице нужно добавить колонку с флажками. Изначально они все путые (false). Когда скрипт загрузки в календарь начнет проверять строки, то он изменит статус флажка (true) и постарается скопировать данные.

  3. Если копирование данных происходит по выбраной строке, то у пользователя уточняется - точно ли нужно копировать её.

  4. Если ячейки с датой или именем не будут заполнены, то при попытке скопировать данные они будут окрашены в розовый цвет.

  5. Если ячейка с датой содержит не дату, а что-то другое то она будет окрашена в розовый цвет и не скопируется в календарь.

  6. Добавлен скрип ежедневной загрузки данных в календарь.

  • Скрипт берет в календаре вчерашние события;
  • находит ключевое слово "dinamicRow хх"
  • извлекает цифру рядом с ключевым словом (означает последнюю заполненую строку в таблице за день)
  • находит новую заполненую строку в таблице уже в другой день, получает разницу между двумя значениями - тоесть диапазон для загрузки именинников в календарь.
  • проверяет данные на коректность и выполняет создание событий в календаре.
  • каждому событию присваивается статус "ежегодное напоминание"
  • после всех операций формируется новое событие с названием "dinamicRow хх" и записывается в текущую дату.
  • если значение "dinamicRow хх" за вчера и номер последней строки за сегодня - одинаковы, а данных для загрузки нет, то скрипт переносит старый "dinamicRow хх" в новый день.

Поздравление именинников

  1. У клуба есть Telegram чат, ID которого необходимо узнать и потом внести в скрипт

  2. Нужно создать Telegram бота, ID которого необходимо узнать и потом внести в скрипт

  3. В таблице нужно создать отдельную страницу с поздравлениями.

  • каждое поздравление должно быть не очень длинным, иначе позже будет "ошибка длины URL" (например 125 символов)
  • поздравления можно добавлять или удалять.
  1. На текущую дату скрипт делает выгрузку именинников из календаря
  • формирует строку имён через запятую
  • берет случайное поздравлительное сообщение из таблицы. Перемешивает оставшиеся варианты. Если будет мало вариантов, то они будут повторяться.
  • формирует сообщение для бота с смайликами
  • отправляет URL ссылку в интернет (публикует в Telegram)
  1. На отдельной странице в таблице делается отчёт об выгрузке именинников (дата, список имён). Запись добавляется вниз по мере работы скрипта.

customer_greetings's People

Contributors

smisyuk4 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.