admin

Администратор
Команда форума
Регистрация
30.09.2022
Сообщения
464
Реакции
84
iCHtbBm.gif
Чтобы сайт принимал запросы от Алисы, Вам нужно добавить его в Яндекс.Диалоги
  • Добавляем новый навык Алисе

1664790742371.png

  • Прописываем настройки

1664790759556.png

  1. Название: Будет видно в общем каталоге навыков;
  2. Активационное имя: Выбирайте такое, в котором человек совершит минимум ошибок в произношении, например «онлайн фильмы на киношке», «поиск фильма на кинопоиске» и т.д., можете открыть Алису в телефоне и посмотреть, какие запросы Алиса лучше понимает, например если у Вас сайт «кинорезка», она в большинстве случаев сделает исправление на «кинопоиск»;
  3. 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);
        }); });

Всё, CinemaPress ACMS принимает запросы от Алисы и выдает пользователям ссылки на Ваш сайт. Можете отправлять на модерацию и ждать одобрения. После модерации, сможете добавить Ваш навык/бота в общий каталог навыков Алисы.

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;
    }
 
Верх