- Регистрация
- 30.09.2022
- Сообщения
- 491
- Реакции
- 85
Чтобы сайт принимал запросы от Алисы, Вам нужно добавить его в Яндекс.Диалоги
Далее открываем файл /routes/website.js и прописываем в конце, перед module.exports = router; код:
	
	
	
		
Всё, CinemaPress ACMS принимает запросы от Алисы и выдает пользователям ссылки на Ваш сайт. Можете отправлять на модерацию и ждать одобрения. После модерации, сможете добавить Ваш навык/бота в общий каталог навыков Алисы.
UPD: Код выше изменен и лучше не использовать кэширование в Nginx для Алисы, для этого добавить в
/home/ВашСайт.net/etc/nginx/conf.d/default.conf перед location /admin { код:
	
	
	
		
			
			- Добавляем новый навык Алисе
- Прописываем настройки
- Название: Будет видно в общем каталоге навыков;
- Активационное имя: Выбирайте такое, в котором человек совершит минимум ошибок в произношении, например «онлайн фильмы на киношке», «поиск фильма на кинопоиске» и т.д., можете открыть Алису в телефоне и посмотреть, какие запросы Алиса лучше понимает, например если у Вас сайт «кинорезка», она в большинстве случаев сделает исправление на «кинопоиск»;
- 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;
    } 
 
		


 
 
		 
 
		 
 
		