Цитатник в вашей беседе на Автопилоте
Всем привет!
Хотели ли бы Вы, чтобы Ваш бот дарил умные мысли людям? Да?
Автопилот это умеет, практически из коробки.
Не верите? :-) Конечно, можно запихнуть кучу цитат и рандомно выдавать, но поступим мудрее — отошлем запрос в базу на внешнем сайте, получим нужную фразу и выведем в чат. Сайтов таких множество, поисковик в помощь.
Запускаем Автопилот:
Делаем команду:
Если пользователь написал сообщение «умная мысль» (я пользуюсь регуляркой ^умная мысль$, мне удобнее, хотя можно сделать сообщение:
с текстом равным умная мысль).
и если ID нашего чатика равно нужному:
то посылаем запрос на адрес:
https://andreyscripts.skyjoom.com/quotes.php
Важно! Так же в запросе можно передать параметр typeс числовым значением типа цитаты. По умолчанию: если параметр не задан, то используется цитата из всех источников. Пример в конце статьи.
Важно! Автор скрипта и сервис «Автопилот» не несет ответственность за качество цитат, так что используйте на свой страх и риск.
Следующим действием надо добавить сообщение с переменной: %response% (или %request_response%). В ней будет полный ответ стороннего сайта (например его JSON структура).
Когда структуру получили, парсим полученный результат во временные переменные %text% и %author%
Парсить нужно через переменную {get_var}. Подробнее про запросы и парсинг данных можно почитать в сообществе сервиса «Автопилот», либо по ссылкам ↑
Временная переменная %text% будет равна: {get_var}quoteText|json|%request_response%{/get_var}
Альтернативный упрощенный вариант: %response.quoteText%
Временная переменная %author% равна: %response.quoteAuthor%
Да, достаточно просто скопировать)
Остается только вывести результат в беседу:
Тестируем!
Вот и все! Вы все еще не верите, что Автопилот крут? Тогда мы идем к Вам))
Тип цитаты (опциональный параметр)
Для того чтобы получать цитаты определенного типа в запросе добавляем одно из следующих значений:
0 - все источники (по умолчанию)
1 - цитаты из книг
2 - цитаты из фильмов
3 - цитаты из сериалов
4 - цитаты известных и великих людей
5 - цитаты из песен
6 - цитаты из телепередач /шоу
7 - цитаты из компьютерных игр
8 - цитаты из мультфильмов
9 - цитаты из аниме
10 - цитаты из стихотворений
11 -цитаты из спектаклей
12 - цитаты из комиксов
13 - цитаты из самиздата
14 - пословицы и поговорки
15 - притчи
Бонус
Еще один скрипт, который берет цитаты со стороннего сайта
https://andreyscripts.skyjoom.com/quotes_great_people.php
который также возвращает JSON (достаточно заменить только адрес в запросе):
{
"success": true,
"quoteText": "Любовь это соревнование в том, кто принесет друг другу больше радости.", "quoteAuthor": "Стендаль"
}Иногда у вас может не получиться достать переменную из JSON массива. Ибо он будет большим и сложным. Тогда просто вставьте его в примечание ресурса и там нажмите кнопочку «Украсить JSON». Работать станет в разы легче. Пример:
Статью подготовил Андрей Горячих.
