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


Создайте гугл-таблицу с колонками:
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
Авторизация
Была ли эта статья полезна?
отменить
Спасибо!