- Регистрация
- 20 Дек 2017
- Сообщения
- 7
Чтобы сайт принимал запросы от Алисы, Вам нужно добавить его в Яндекс.Диалоги
- Добавляем новый навык Алисе
- Прописываем настройки
- Название: Будет видно в общем каталоге навыков;
- Активационное имя: Выбирайте такое, в котором человек совершит минимум ошибок в произношении, например «онлайн фильмы на киношке», «поиск фильма на кинопоиске» и т.д., можете открыть Алису в телефоне и посмотреть, какие запросы Алиса лучше понимает, например если у Вас сайт «кинорезка», она в большинстве случаев сделает исправление на «кинопоиск»;
- Webhook URL:
https://ВашСайт.net/alice-webhook
Далее открываем файл
/routes/website.js
и прописываем в конце, перед module.exports = router;
код:
JavaScript:
router.post('/alice-webhook', function (req, res) {
var options = {"domain":'' + config.domain};
var result = {"session": req.body.session || {}, "version": req.body.version || "1.0"};
if (!req.body.request || !req.body.request.command) {
result.response = {
"text": "Какой фильм или сериал Вам найти?",
"tts": "Какой фильм или сериал Вам найти?",
"end_session": false
}; return res.json(result); }
category.one(config.urls.search, CP_regexp.str(req.body.request.command), 1, '', options,
function (err, render) {
result.response = (render && render.movies && render.movies.length) ? {
"text": "Вот что мне удалось найти:", "tts": "Вот что мне удалось найти:",
"buttons": render.movies.map(function (movie) {return {
"title": movie.title + ' (' + movie.year + ')',
"url": movie.url,
"hide": false
}}), "end_session": false} : {
"text": "Простите, но ничего не найдено.",
"tts": "Простите, но ничего не найдено.",
"end_session": false};
res.json(result);
}); });
UPD: Код выше изменен и лучше не использовать кэширование в Nginx для Алисы, для этого добавить в
/home/ВашСайт.net/etc/nginx/conf.d/default.conf
перед location /admin {
код:
NGINX:
location /alice-webhook {
proxy_max_temp_file_size 0;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_pass http://ВашСайт_net;
}
Последнее редактирование: