Size: a a a

Яндекс.Диалоги (сообщество разработчиков)

2019 February 05

ВВ

Валерий Вотяков... in Яндекс.Диалоги (сообщество разработчиков)
дополнения/советы?)
источник

СА

Сергей Авдеев... in Яндекс.Диалоги (сообщество разработчиков)
goto зло
источник

ВВ

Валерий Вотяков... in Яндекс.Диалоги (сообщество разработчиков)
а как лучше?
источник

СА

Сергей Авдеев... in Яндекс.Диалоги (сообщество разработчиков)
как угодно, но только не так
источник

СА

Сергей Авдеев... in Яндекс.Диалоги (сообщество разработчиков)
работать конечно работает, но читаемость низкая, особенно когда код разрастется
источник

СА

Сергей Авдеев... in Яндекс.Диалоги (сообщество разработчиков)
вообще проще на каком нибудь фреймворке для алисы написать, коих развелось уже достаточно
источник

ВВ

Валерий Вотяков... in Яндекс.Диалоги (сообщество разработчиков)
Сергей Авдеев
как угодно, но только не так
дык вебхук для сервера умногодома
источник

🚀

🚀 in Яндекс.Диалоги (сообщество разработчиков)
человек одновременно подтягивает пыху, 2 в 1
считаю наоборот молодец
источник

ВВ

Валерий Вотяков... in Яндекс.Диалоги (сообщество разработчиков)
🚀
человек одновременно подтягивает пыху, 2 в 1
считаю наоборот молодец
спасибо
источник

СА

Сергей Авдеев... in Яндекс.Диалоги (сообщество разработчиков)
более грамотно продумать алгоритм, чтобы не требовалось осуществлять переходов. ну или на крайняк использовать пользовательские функции / ооп. всяко лучше будет
источник

P

Pavel in Яндекс.Диалоги (сообщество разработчиков)
Валерий Вотяков
а как лучше?
самое простое - завернуть в функцию код после метки goto и вызывать эти функции в нужных местах
источник

P

Pavel in Яндекс.Диалоги (сообщество разработчиков)
но это криво тоже, но уже без goto
источник

ВВ

Валерий Вотяков... in Яндекс.Диалоги (сообщество разработчиков)
есть куда расти)
источник

СА

Сергей Авдеев... in Яндекс.Диалоги (сообщество разработчиков)
попробуйте сначала обернуть весь протокол алисы в функции. или составьте класс  для этого
источник

A

Arkady in Яндекс.Диалоги (сообщество разработчиков)
Но goto режьте под корень, правильно всё говорят
источник

P

Pavel in Яндекс.Диалоги (сообщество разработчиков)
Валерий Вотяков
<?php
//получаем данные
$requestBody = file_get_contents('php://input');

//декодим данные
$json = json_decode($requestBody);
$text = strtolower($json->request->command);
$sessionnew = $json->session->new;
$message_id = $json->session->message_id;
$session_id = $json->session->session_id;
$user_id = $json->session->user_id;
$msg_hi = array("Привет.", "Привет!", "Приветствую.", "Приветствую!", "Приветик!", "Приветик.");
$msg_accesDenied = array("Это закрытый навык.", "Мне нельзя общаться с чужими.", "Мне не разрешают общаться с чужими.");
$msg_hi = $msg_hi[shuffle($msg_hi)];
$msg_accesDenied = $msg_accesDenied[shuffle($msg_accesDenied)];

//передаем команду в систему
include_once("./config.php");
$_SERVER['PHP_AUTH_USER'] = EXT_ACCESS_USERNAME;
$_SERVER['PHP_AUTH_PW'] = EXT_ACCESS_PASSWORD;
include_once("./lib/loader.php");
$session = new session("prj");
$db = new mysql(DB_HOST, '', DB_USER, DB_PASSWORD, DB_NAME);
include_once(DIR_MODULES . "application.class.php");
include_once("./load_settings.php");
$keyword = gg('ThisComputer.keyword');
$yandexID = gg('ThisComputer.yandexID');

$speech = 'Принято: '.$text;
if ($text == 'пока') {$speech = "Пока!"; goto answer2yandex;}
if ($text == $keyword) {
 say("Идентификатор пользователя изменён!\nБыл  ".$yandexID.",\nстал ".$user_id, -1);
 sg('ThisComputer.yandexID', $user_id);
 goto answer2yandex;
}

//отвечаем яндексу
if ($sessionnew == true) {
 if ($user_id != $yandexID) {$speech = $msg_hi." Простите, но это закрытый навык и он только для моей семьи."; goto answer2yandex;}
 $speech = $msg_hi." Чем могу помочь?";}
if ($user_id != $yandexID) {$speech = $msg_accesDenied; goto answer2yandex;} else {say(htmlspecialchars($text), 0, 1);}

answer2yandex:
$response = new \stdClass();
$response->response->text = $speech;
$response->response->tts = $speech;
$response->response->end_session = false;
$response->session->message_id = $message_id;
$response->session->session_id = $session_id;
$response->session->user_id = $user_id;
$response->version = '1.0';
echo json_encode($response);
?>
а и лучше код все же на како-нить пастебин выкладывать, а сюда ссылку.
источник

ВВ

Валерий Вотяков... in Яндекс.Диалоги (сообщество разработчиков)
Pavel
а и лучше код все же на како-нить пастебин выкладывать, а сюда ссылку.
пастебин?
источник

P

Pavel in Яндекс.Диалоги (сообщество разработчиков)
источник

P

Pavel in Яндекс.Диалоги (сообщество разработчиков)
что-нить типа такого. их тысячи
источник

🚀

🚀 in Яндекс.Диалоги (сообщество разработчиков)
Pavel
а и лучше код все же на како-нить пастебин выкладывать, а сюда ссылку.
++
источник