Записная книжка
В этом уроке мы рассмотрим создание бота, который записывает данные в Google Таблицу и читает ранее записанные заметки.
В этом уроке мы покажем вам отрезок сценария, который поможет: * поочередно выводить данные из строк таблицы; * выводить значения определенной строки и определенного столбца; * сообщать, если данные из таблицы прочитаны и больше данных нет.
Полностью сценарий выглядит так:
Шаг 1. Экран приветствия
Добавьте приветствие и предложение читать или записать заметки:
Привет! Я могу прочитать твои заметки или сделать запись.
Также добавьте две кнопки «читать» и «писать».
Шаг 2. Добавьте реплику
Добавьте рядом еще один текстовый блок с текстом:
Что записать?
Добавьте к этому экрану блок фраз с примером:
$TEXT
Шаг 3. Создайте HTTP-запрос
От $TEXT
протяните связь и создайте HTTP-запрос.
Перейдите к этой инструкции для создания апплета IFTTT для записи в таблицу.
Оформите запрос следующим образом:
- поле URL оформите так, как описано в инструкции по ссылке.
- метод запроса
POST
- на вкладку BODY скопируйте следующее:
{
"value1" : "$TEXT"
}
- на вкладке HEADERS:
Content-Type
application/json
Шаг 4. Добавьте реакцию на успешное завершение
От варианта Завершен успешно Http-запроса протяните связь и создайте текстовый блок, на котором разместите сообщение об успешной записи: Записал. Будем читать или записать еще одну?
Также, на этот экран добавьте кнопки Читать и Записать еще.
Шаг 5. Протестируйте запись
Соедините кнопку Писать со стартового экрана с экраном Что записать.
Нажмите Тестировать. Попробуйте сделать запись в вашу таблицу с помощью кнопки Писать.
Перейдите в таблицу и проверьте, появилась ли запись.
Если запись не появилась, то обратитесь к этой статье, чтобы проверить, какие могут быть неполадки.
Шаг 6. Оформите таблицу
На этом этапе в вашей Google Таблице уже должны быть записи, которые вы сделали с помощью бота в процессе тестирования записи. В первой строчке таблицы поместите названия столбцов. Например, назовем столбцы так: date
— дата, которую IFTTT прописывает автоматически event
— название вашего события IFTTT (вы можете в одну таблицу делать запись с помощью разных событий, и названия событий могут говорить вам о содержании или значении заметок) note
— сам текст заметки.
Шаг 7. Извлеките данные из Google Таблицы
Создайте еще один блок HTTP-запрос.
Обратитесь к этой статье для оформления HTTP-запроса для чтения данных из Google Таблиц. Не забудьте опубликовать таблицу, как описано в статье по ссылке.
- метод
GET
- на вкладке
RESPONSE
назовите переменнуюitems
и запишите значение$httpResponse
- Вкладки
BODY
иHEADERS
заполнять не нужно.
От варианта Завершен успешно протяните связь и создайте блок условий с текстом:
$items.first()
От $items.first()
сделайте связь и создайте блок Текст с текстом:
заметка
$items.current().noteбыла сделана в следующую дату:
$items.current().date``
Таким образом, мы будем доставать из переменной item
элементы note
и date
.
Создайте на этом экране блок Переход.
Протяните от него связь и создайте новый блок условий с текстом: $items.next()
От $items.next()
сделайте связь с новым текстовым блоком: Читать дальше? и добавьте на него кнопки Читать дальше и Записать.
Соедините кнопку Читать дальше с блоком, на котором есть следующий текст:
заметка $items.current().note
была сделана в следующую дату: $items.current().date
.
Шаг 8. Создайте глобальный блок фраз
Создайте новый экран, поместите на него блок Интенты.
Обязательно поставьте галочку «Глобальный блок».
Добавьте следующие шаблоны фраз:
* *чит* *
— свяжите этот вариант с блоком чтения из Google Таблиц* *пис* *
— свяжите этот вариант с блоком, на котором есть текст Что записать?- Можете также добавить другие подобные шаблоны.
Таким образом, вы можете из любого места сценария попросить бота записать или прочитать заметки, и он среагирует соответствующе на разные формулировки. После добавления глобального блока фраз вам больше не нужно связывать кнопки, на которых есть текст, попадающий в шаблон.
Шаг 9. Завершите сценарий
Добавьте в конец сценария последний текстовый блок:
Больше заметок нет! Записать еще одну или читать с начала?
Добавьте на этот экран кнопки Писать и Читать.
На обоих блоках условий у нас есть вариант else
. Соедините оба этих варианта с этим финальным экраном.
Все! Сценарий готов. Теперь можете дополнить его добавлением других экранов-реакций.