рдПрдХ рдПрдХрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде PHP рдореЗрдВ Yandex.Alice рдФрд░ Telegram bot

рд╢реБрдн рджреЛрдкрд╣рд░

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯреНрд╕ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдиреЗ рдРрд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП рдХреМрд╢рд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдПрдХ рднреА рдмреЙрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдФрд░ рдпреЗрд▓реИрдХреНрд╕ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдПрдХ рд╣реА рдХрд╛рд░реНрдпрд╢реАрд▓ рд╣реЛрдирд╛ред

рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдХрд┐ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреИрд╕реЗ рдмрдврд╝рд╛рдПрдБ рдФрд░ рдПрдХ ssl рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдмрдирд╛рдирд╛


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдмрдирд╛рдПрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╡рд╣рд╛рдВ рдмреЛрдЯрдлрд╛рджрд░ рдмреЙрдЯ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред





рдиреНрдпреВрдмреЙрдЯ рдЪреБрдиреЗрдВ



рд╣рдо рдмреЙрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рд╣рдо рдмреЙрдЯ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╡рд╛рдм рдореЗрдВ рд╣рдореЗрдВ рдмреЙрдЯ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕ рдХреБрдВрдЬреА рдХреЛ рд▓рд┐рдЦреЗрдВ, рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред



рдЕрдЧрд▓рд╛ рдХрджрдо рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕ рд╕рд░реНрд╡рд░ рдХреЛ рдмреЙрдЯ рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлреЙрд░реНрдо рдХрд╛ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ:

https: //api.telegram.org/bot______/setWebhook?url=https://_________ 

___ TOKEN ___ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣рдорд╛рд░реЗ рдмреЙрдЯ рдЯреЛрдХрди рд╕реЗ рдмрджрд▓ рджреЗрдВ

____ PATH_DO_SCRIPT ___ рдХреЛ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрддреЗ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, www.my_server.ru/webhook_telegram.php )ред

рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, api.telegram.org рд╕рд░реНрд╡рд░ рд▓реЙрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рд╕рд░реНрд╡рд░ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрдВ рдЬрд╣рд╛рдВ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдХрдВрд╕реЛрд▓ рд╕реЗ рдХрдорд╛рдВрдб рджреЗрдВ

 wget _______ 

рдпрд╣ рд╡рд╣реА рд╣реИ, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ рдмрдирд╛ рдФрд░ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

Yandex.Alice рдХреЗ рд▓рд┐рдП рдПрдХ рдХреМрд╢рд▓ рдмрдирд╛рдирд╛


рдЖрдЗрдП Yandex.Alice рдХреЗ рд▓рд┐рдП рдХреМрд╢рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рдПрдХ рдХреМрд╢рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ Yandex.Dialogs рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреГрд╖реНрда, Yandex.Dialogs рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, "рд╕рдВрд╡рд╛рдж рдмрдирд╛рдПрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдРрд▓рд┐рд╕ рдореЗрдВ рдХреМрд╢рд▓" рдЪреБрдиреЗрдВред



рдХреМрд╢рд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдВрд╡рд╛рдж рдЦреБрд▓рддрд╛ рд╣реИред



рд╣рдо рдХреМрд╢рд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВред



рд╕рдХреНрд░рд┐рдпрдг рдирд╛рдо рдХреЛ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдРрд▓рд┐рд╕ рдЗрд╕реЗ рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рд╕рдХреЗ - рдРрд▓рд┐рд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ Yandex.Station рдпрд╛ Irbis A рдЬреИрд╕реЗ рдХреЙрд▓рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рд╢рдмреНрджреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдо рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдкрде рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдРрд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП www.my_server.ru/webhook_alice.php ред



рд╣рдо рд╡рд╣ рдЖрд╡рд╛рдЬ рдЪреБрдирддреЗ рд╣реИрдВ рдЬреЛ рдХреМрд╢рд▓ рдмреЛрд▓реЗрдЧрд╛, рдореИрдВ рдРрд▓рд┐рд╕ рдХреА рдЖрд╡рд╛рдЬ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред



рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдпрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ "рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ" рдЪреБрдиреЗрдВред

рдЕрдЧрд▓рд╛, рдРрд▓рд┐рд╕ рдХреМрд╢рд▓ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рджрд░реНрдЬ рдХрд░реЗрдВред рдпрджрд┐ рдЖрдк рд╕рдХреНрд░рд┐рдпрдг рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдВрдб рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ webmaster.yandex.ru рд╕реЗрд╡рд╛ рдореЗрдВ рдмреНрд░рд╛рдВрдб рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд╕рддреНрдпрд╛рдкрди рд╕реЗ рдЧреБрдЬрд░рдирд╛ рд╣реЛрдЧрд╛ред



рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЬрд╛рдПрдВред

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рд▓рд┐рдкрд┐


рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдмреЙрдЯ рдФрд░ рдРрд▓рд┐рд╕ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

 include_once 'webhook_parse.php'; 

рд╣рдордиреЗ рдЕрдкрдиреЗ рдмреЙрдЯ рдХрд╛ рдЯреЛрдХрди рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ:

 $tg_bot_token = "_____YOUR_BOT_TOKEN_____"; 

рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

 $request = file_get_contents('php://input'); $request = json_decode($request, TRUE); 

рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдЪрд░ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ:

 if (!$request) { die(); // Some Error output (request is not valid JSON) } else if (!isset($request['update_id']) || !isset($request['message'])) { die(); // Some Error output (request has not message) } else { $user_id = $request['message']['from']['id']; $msg_user_name = $request['message']['from']['first_name']; $msg_user_last_name = $request['message']['from']['last_name']; $msg_user_nick_name = $request['message']['from']['username']; $msg_chat_id = $request['message']['chat']['id']; $msg_text = $request['message']['text']; $msg_text = mb_strtolower($msg_text, 'UTF-8'); $tokens = explode(" ", $msg_text); } 

рдЕрдм рдЖрдк рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$ рдЯреЛрдХрди - рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╕рднреА рд╢рдмреНрдж

$ user_id - рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рд╣реИ

$ msg_chat_id - рд╡рд╣ рдЪреИрдЯ рдЬрд┐рд╕рдореЗрдВ рдмреЙрдЯ рдХреЛ рдПрдХ рдХрдорд╛рдВрдб рдорд┐рд▓реА

$ msg_user_name - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо

рдЖрдЧреЗ, рд╣рдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП Parse_Tokens рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВ:

 $Out_Str = Parse_Tokens($tokens); 

рдФрд░ рд╣рдо рдЬрд╡рд╛рдм рднреЗрдЬрддреЗ рд╣реИрдВ:

 Send_Out($user_id, $Out_Str); 

Send_Out рдлрд╝рдВрдХреНрд╢рди рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 function Send_Out($user_id, $text, $is_end = true) { global $tg_bot_token; if (strlen($user_id) < 1 || strlen($text) < 1) {return;} $json = file_get_contents('https://api.telegram.org/bot' . $tg_bot_token . '/sendMessage?chat_id=' . $user_id . '&text=' . $text); } 

Yandex.Alice рдХреЗ рд▓рд┐рдП рдХреМрд╢рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рдЕрдм рдРрд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рдпрд╣ рд▓рдЧрднрдЧ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рд╣реА рд╣реИред

рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рднреА рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдмреЙрдЯ рдФрд░ рдРрд▓рд┐рд╕ рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рдРрд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп:

 include_once 'classes_alice.php'; include_once 'webhook_parse.php'; 

рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдорд┐рд▓рддрд╛ рд╣реИ:

 $data = json_decode(trim(file_get_contents('php://input')), true); 

рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдЪрд░ рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ:

 if (isset($data['request'])) { //original_utterance if (isset($data['meta'])) { $data_meta = $data['meta']; if (isset($data_meta['client_id'])) {$client_id = $data_meta['client_id'];} } if (isset($data['request'])) { $data_req = $data['request']; if (isset($data_req['original_utterance'])) { $original_utterance = $data_req['original_utterance']; } if (isset($data_req['command'])) {$data_msg = $data_req['command'];} if (isset($data_req['nlu'])) { $data_nlu = $data_req['nlu']; if (isset($data_nlu['tokens'])) {$tokens = $data_nlu['tokens'];} // $data_token_count = count($data_tokens); } } if (isset($data['session'])) { $data_session = $data['session']; if (isset($data_session['new'])) {$data_msg_new = $data_session['new'];} if (isset($data_session['message_id'])) {$data_msg_id = $data_session['message_id'];} if (isset($data_session['session_id'])) {$data_msg_sess_id = $data_session['session_id'];} if (isset($data_session['skill_id'])) {$skill_id = $data_session['skill_id'];} if (isset($data_session['user_id'])) {$user_id = $data_session['user_id'];} } } 

рдпрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдЪрд░ рдХреБрдЫ рдХрдо рд╣реИрдВ:

$ рдЯреЛрдХрди - рдЕрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдпрд╣рд╛рдВ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╕рднреА рд╢рдмреНрдж

$ user_id - рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рд╣реИ

рдпреИрдВрдбреЗрдХреНрд╕ рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреМрд╢рд▓ рдХреЛ рдкрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рддреБрд░рдВрдд рдкреВрд░реНрдг рд╕рдВрджреЗрд╢ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдЦрд╛ рдЬреЛрдбрд╝реА

  if (strpos($tokens[0], "ping") > -1) {Send_Out("pong", "", true);} 

рд╣рдо рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП Parse_Tokens рдлрд╝рдВрдХреНрд╢рди рдХрд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИ:

 $Out_Str = Parse_Tokens($tokens); 

рдФрд░ рд╣рдо рдЬрд╡рд╛рдм рднреЗрдЬрддреЗ рд╣реИрдВ:

 Send_Out($user_id, $Out_Str); 

Send_Out рдлрд╝рдВрдХреНрд╢рди рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ:

 function Send_Out($user_id, $out_text, $out_tts = "", $is_end = false) { global $data_msg_sess_id, $user_id; ///// GENERATE BASE OF OUT ////// $Data_Out = new Alice_Data_Out(); $Data_Out->response = new Alice_Response(); $Data_Out->session = new Alice_Session(); ///// GENERATE BASE OF OUT End ////// ///// OUT MSG GENERATE ///// $Data_Out->session->session_id = $data_msg_sess_id;; $Data_Out->session->user_id = $user_id; $Data_Out->response->text = $out_text; $Data_Out->response->tts = $out_tts; if (strlen($out_tts) < 1) {$Data_Out->response->tts = $out_text;} $Data_Out->response->end_session = $is_end; header('Content-Type: application/json'); print(json_encode($Data_Out, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT)); die(); } 

рдРрд▓рд┐рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦрддреНрдоред

рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ Parse_Tokens рд╕реНрд╡рдпрдВ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдк рд╡рд╣рд╛рдВ рдХреЛрдИ рднреА рдЬрд╛рдВрдЪ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 function Parse_Tokens($tokens) { $out = ""; // do something with tokens // $out = "Your eneter " . count($tokens) . " words: " . implode($tokens, " "); return $out; } 

рдпрджрд┐ рдЖрдкрдХреЛ рдХрд┐рд╕реА рдкреНрд░рд╢реНрди рдФрд░ рдЙрддреНрддрд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд░реВрдк рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП mysql) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ $ user_id рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ Parad_Tokens рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд▓рдЧрднрдЧ рд╕рднреА рд╣реИ, рдЕрдЧрд░ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЙрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИ, рдРрд▓рд┐рд╕ рдХреЗ рдХреМрд╢рд▓ рдХреЛ Dials.yandex.ru/developer рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдкрд░реАрдХреНрд╖рдг рдЯреИрдм рдкрд░ рдЖрдкрдХреЗ рдирдП рдХреМрд╢рд▓ рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реИред



рдпрджрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк "рдореЙрдбрд░реЗрд╢рди" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХреМрд╢рд▓ рдХреЛ рдореЙрдбрд░реЗрд╢рди рдореЗрдВ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рджреЛ рдмреЙрдЯ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ Yandex.Dialog рд╕реЗрд╡рд╛ рдкреНрд░рд▓реЗрдЦрди

рдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ github рдбрд╛рдЙрдирд▓реЛрдб рдкрд░ рдкреЛрд╕реНрдЯ рдХреА рдЧрдИ рд╣реИрдВред

рдЕрдкрдбреЗрдЯ: рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рд▓рдкреЗрдЯрд╛ рдФрд░ рдЬреАрдердм рдкрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛

Source: https://habr.com/ru/post/hi446174/


All Articles