Цитатник в вашей беседе на Автопилоте

Всем привет!

Хотели ли бы Вы, чтобы Ваш бот дарил умные мысли людям? Да?
Автопилот это умеет, практически из коробки.

Не верите? :-) Конечно, можно запихнуть кучу цитат и рандомно выдавать, но поступим мудрее — отошлем запрос в базу на внешнем сайте, получим нужную фразу и выведем в чат. Сайтов таких множество, поисковик в помощь.

Демонстрация настроек

Запускаем Автопилот:
Делаем команду:

Цитатник в вашей беседе на Автопилоте, image #1

Если пользователь написал сообщение «умная мысль» (я пользуюсь регуляркой ^умная мысль$, мне удобнее, хотя можно сделать сообщение:
с текстом равным умная мысль).

и если ID нашего чатика равно нужному:

Цитатник в вашей беседе на Автопилоте, image #2

то посылаем запрос на адрес:

https://andreyscripts.skyjoom.com/quotes.php
Цитатник в вашей беседе на Автопилоте, image #3

Важно! Так же в запросе можно передать параметр typeс числовым значением типа цитаты. По умолчанию: если параметр не задан, то используется цитата из всех источников. Пример в конце статьи.

Важно! Автор скрипта и сервис «Автопилот» не несет ответственность за качество цитат, так что используйте на свой страх и риск.

Следующим действием надо добавить сообщение с переменной: %response% (или %request_response%). В ней будет полный ответ стороннего сайта (например его JSON структура).

Когда структуру получили, парсим полученный результат во временные переменные %text% и %author%

Цитатник в вашей беседе на Автопилоте, image #4
Цитатник в вашей беседе на Автопилоте, image #5

Парсить нужно через переменную {get_var}. Подробнее про запросы и парсинг данных можно почитать в сообществе сервиса «Автопилот», либо по ссылкам ↑

Временная переменная %text% будет равна:
{get_var}quoteText|json|%request_response%{/get_var}

Альтернативный упрощенный вариант: %response.quoteText%

Временная переменная %author% равна:
%response.quoteAuthor%

Да, достаточно просто скопировать)

Остается только вывести результат в беседу:

Цитатник в вашей беседе на Автопилоте, image #6

Тестируем!

Цитатник в вашей беседе на Автопилоте, image #7

Вот и все! Вы все еще не верите, что Автопилот крут? Тогда мы идем к Вам))

Тип цитаты (опциональный параметр)

Для того чтобы получать цитаты определенного типа в запросе добавляем одно из следующих значений:

 0 - все источники (по умолчанию)
1 - цитаты из книг
2 - цитаты из фильмов
3 - цитаты из сериалов
4 - цитаты известных и великих людей
5 - цитаты из песен
6 - цитаты из телепередач /шоу
7 - цитаты из компьютерных игр
8 - цитаты из мультфильмов
9 - цитаты из аниме
10 - цитаты из стихотворений
11 -цитаты из спектаклей
12 - цитаты из комиксов
13 - цитаты из самиздата
14 - пословицы и поговорки
15 - притчи
Пример запроса цитаты из мультфильмов
Пример запроса цитаты из мультфильмов
Цитата из «Рапунцель»
Цитата из «Рапунцель»

Бонус

Еще один скрипт, который берет цитаты со стороннего сайта

https://andreyscripts.skyjoom.com/quotes_great_people.php
Цитатник в вашей беседе на Автопилоте, image #10

который также возвращает JSON (достаточно заменить только адрес в запросе):

{
"success": true,
"quoteText": "Любовь это соревнование в том, кто принесет друг другу больше радости.", "quoteAuthor": "Стендаль"
}

Иногда у вас может не получиться достать переменную из JSON массива. Ибо он будет большим и сложным. Тогда просто вставьте его в примечание ресурса и там нажмите кнопочку «Украсить JSON». Работать станет в разы легче. Пример:

Статью подготовил Андрей Горячих.

2585 views·69 shares