В этом уроке вы научитесь выдавать случайную строку из гугл-таблицы. Это может быть удобно для создания игр, либо для бизнес-решений (например, чтобы выводить пользователям предложения случайным образом). В этом уроке мы создадим игру "Печеньки с предсказаниями".


Создайте гугл-таблицу с колонками:
number

line



В колонке number добавьте нумерацию, в колонке line разместите нужные вам данные. Поместим в каждую из строчек предсказание.



Опубликуйте таблицу:

Файл -> Опубликовать в интернете -> Опубликовать -> Ок -> Закройте всплывающее окно.

Путь из всплывающего окна копировать не нужно.





Откройте блокнот и скопируйте туда ссылку:

http://tools.aimylogic.com/api/googlesheet2json?sheet=1&id=



Затем найдите в пути гугл-таблицы данный элемент:



Это идентификатор документа. Скопируйте его и вставьте в блокнот после той строки, которую мы вставили ранее. У вас получится что-то вроде этого:



Чтобы убедиться, что вы всё сделали верно, скопируйте эту ссылку и вставьте в строку браузера. Вы должны увидеть json-объект - содержание таблицы:



Если не получилось увидеть содержание таблицы, то убедитесь, что вы опубликовали таблицу.

В сценарии добавьте блок Http-запрос. В поле url скопируйте и вставьте ссылку, которая получилась у вас в блокноте.



На вкладке RESPONSE нажмите на + . Скопируйте и вставьте переменную в поле Имя переменной:

prediction

В поле значение переменной скопируйте и вставьте следующую строку:

_.findWhere($httpResponse, {"number": _.random(1, 5)})


Здесь мы ищем в колонке под названием number строки с 1-ую по 5-ую, выбираем из них случайную строку, и записываем в переменную $prediction значение строки, соответствующей этому случайному числу.

Вы можете указать любой диапазон чисел, которые имеются у вас в таблице. Например, с 1 по 20:

_.findWhere($httpResponse, {"number": _.random(1, 20)})

Поля BODY и HEADERS заполнять не нужно. Нажмите Сохранить.

От варианта "Завершен с ошибкой" сделайте связь с текстовым блоком, в котором напишите:

ошибка $httpStatus


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

От варианта "Завершен успешно" сделайте связь с экраном с текстом:

$prediction.line

Нажмите Тестировать.

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


Что можно добавить?

Можно доработать этот сценарий, добавив кнопку "ещё", чтобы получить ещё одно предсказание:


Можно добавить изображение с печенькой. Для этого добавьте на экран блок Изображение, и добавьте изображение либо ссылку на него.

Можете добавить в реплики бота смайлики, скопировав их отсюда.

Можно добавить в таблицу ещё одну колонку, чтобы выводить дополнительную информацию.
Например, добавим колонку:
chance
в которой будут разные числа, которые будут в нашем сценарии означать "шанс на удачу".



И тогда в блоке Текст напишем:

$prediction.line Ваш шанс на удачу: $prediction.chance



Больше ничего менять не нужно. Таким образом, вы можете выводить значения ячеек из других колонок, которые соответствуют этой случайно выбранной строке.

Вот и всё!

Осталось опубликовать бота на нужном вам канале. Вы можете найти инструкцию для нужного вам канала здесь.

Вам также могут быть интересны другие уроки по использованию гугл таблиц:

Онлайн-заказы
Как сохранять информацию о пользователе
Бронирование
Как посмотреть статистику самого популярного запроса от пользователя
Авторизация в Telegram
Авторизация
Была ли эта статья полезна?
отменить
Спасибо!