แแแแแกแแแแแแแ.
แแ แกแแแแแก แฃแแแ แแแ แกแขแแขแแ แขแแแแแ แแแแก แแแขแแแแก แแแแแแ, แแแแ แแ แชแแขแ แแแแแแแแ แฌแแ แก แแแแกแแก แฃแแแ แแแแ แแ แแ แแแ แแแแแแ แแแคแแ แแแชแแ แแ แแ แแแขแแก แจแแฅแแแแก แจแแกแแฎแแ, แแแแขแแ แแแแแแฌแงแแแขแ แแแแแแแแ แแแแแ แฉแแแ แแแแแชแแแแแแ. แแแ แขแแแ Telegram แแแขแ แแ Yandex.Alice แฃแแแ -แฉแแแแแแ แกแแแขแแกแแแแก, แ แแแแแกแแช แแฅแแก แแแแแ แคแฃแแฅแชแแแแแ แแแ.
แแกแ แ แแ, แแ แแ แแแขแงแแแ, แแฃ แ แแแแ แฃแแแ แแฌแแแ แแแ แกแแ แแแ แ แแ แแแแฆแแ ssl แกแแ แแแคแแแแขแ, แแแแก แจแแกแแฎแแ แกแแแแแ แแกแแ แแแแฌแแ แ.
Telegram แแแขแแก แจแแฅแแแ
แฏแแ แจแแแฅแแแแ Telegram แแแขแ, แแแแกแแแแก แแแแแแแแ แ Telegram-แแ แแ แแฅ แแแแฃแแแแ BotFather แแแขแก.
แแแ แฉแแแ /newbot
แแฌแแ แ แแแขแแก แกแแฎแแแก, แ แแแแแแแช แแก แฃแแแกแฃแฎแแแก, แจแแแแแ แจแแแแงแแแแ แแแขแแก แกแแฎแแแก, แแแกแฃแฎแแ แแแฆแแแ แแแขแแก แแแ แแแแก แแแขแแแก, แฉแแแฌแแ แ แแ แแแกแแฆแแแก, แแก แแแแแแแแแแแแ แแแแแแแแจแ.
แจแแแแแแ แแแแแฏแ แแ แแก แขแแแแแ แแแแก แกแแ แแแ แแแแก แแแแแแแแ, แ แแแแ แกแแ แแแ แแ แแแแแแแแแ แแแแแชแแแแแ แแแขแแแแ. แแแแกแแแแแก แฉแแแ แแแแแแแแ แคแแ แแแก แแแฃแแก:
https: //api.telegram.org/bot___ะขะะะะ___/setWebhook?url=https://____ะะฃะขะฌ_ะะ_ะกะะ ะะะขะ___
___TOKEN___ แฉแแแ แแชแแแแ แฉแแแแก แแแขแแแก แแแขแแแแ, แแแ แ แแแฆแแแฃแแ
____PATH_TO_SCRIPT____ แฉแแแ แแชแแแแ แกแแ แแแขแแก แแแกแแแแ แแก แฉแแแแก แกแแ แแแ แแ, แกแแแแช แแแฎแแแแ แแแแแชแแแแแแก แแแแฃแจแแแแแ (แแแแแแแแแ,
แแฅ แแ แแก แแ แแแแแแ, api.telegram.org แกแแ แแแ แ แแแแแแแแแแ, แแแแ แแ แจแแแแซแแแแ แแก แแแแแแแแ: แแฅแแ แแแ แงแแแแแแ แแแคแ แกแแ แแแ แ, แกแแแแช แจแแแฆแฃแแแแแ แแ แแ แแก แแ แแแแชแแ แแ แซแแแแแ แแ แกแแ แแแ แแก แแแแกแแแแแแ.
wget ___ะะะะฃะงะะะจะะะกะฏ_ะะะ ะะก___
แแกแ แแแ, แแฅแแแแแ Telegram แแแขแ แแ แฃแแแแจแแ แแแแ แแฅแแแแก แกแแ แแแ แก.
แฃแแแ แแแแก แจแแฅแแแ Yandex.Alisa-แกแแแแก
แแแแแ แแแแแแแแแ Yandex.Alice-แแกแแแแก แฃแแแ แแแแก แจแแฅแแแแแ.
แฃแแแ แแก แจแแกแแฅแแแแแแ, แแฅแแแ แฃแแแ แแแแแฎแแแแแ Yandex.Dialogues แแแแแแแแแ แแแแก แแแแ แแแ
แแแแฎแกแแแแ แฃแแแ แแก แแแ แแแแขแ แแแแก แแแแแแแ.
แฉแแแ แแแฌแงแแแ แฃแแแ แแแแก แแแ แแแแขแ แแแจแ แจแแกแแแแก.
แจแแแงแแแแแ แแฅแแแแ แฃแแแ แแก แกแแฎแแแ.
แแฅแขแแแแชแแแก แกแแฎแแแ แฃแแแ แจแแแ แฉแแก แซแแแแแ แคแ แแฎแแแแ, แ แแแ แแแแกแแ แกแฌแแ แแ แแแแแแก แแแ, แแแฃแแแกแแแแแแ - แแแแแแฃแ แ แแแแแแแชแแ Alice-แแ แแ แกแแแขแแแแ, แ แแแแ แแชแแ Yandex.Station แแ Irbis A, แจแแฃแซแแแ แกแแขแงแแแแแก แแแแกแฎแแแแแแฃแแแ แแฆแฅแแ.
แฉแแแ แจแแแแแแแ แ แกแแ แแแขแแก แแแแก แฉแแแแก แกแแ แแแ แแ แแกแแแ, แ แแแแ แช Telegram-แแกแแแแก, แแแแ แแ แแก แแฅแแแแ แกแแ แแแขแ แกแแแชแแแแฃแ แแ แแแแกแแกแแแแก, แแแแแแแแแ.
แฉแแแ แแแ แฉแแแ แฎแแแก, แ แแแแแแแช แแก แฃแแแ แ แแแแแแ แแแแแก, แแ แฃแคแ แ แแแแฌแแแก แแแแกแแก แฎแแ.
แแฃ แแแแแแแ แแฃแจแแแแแก แแฎแแแแ แแแแแแฃแ แแแฌแงแแแแแแแแแแ แแ แแ แแฃแแแ แจแ, แแแ แฉแแแ โแแฅแแแ แแญแแ แแแแแ แแแฌแงแแแแแแแ แแแ แแแแโ.
แจแแแแแแ, แจแแแงแแแแแ แแแแกแแก แฃแแแ แแแแก แแแขแแแแแแก แแแ แแแแขแ แแแ. แแฃ แแฅแแแ แแแแ แแแ แแแแแแงแแแแ แกแแขแงแแ "แแ แแแแ" แแแแฅแขแแฃแ แแแแกแแแแก, แแฅแแแ แฃแแแ แแแแแแแแฌแแแ แแ แแแแแก แแแแแแแ แแ webmaster.yandex.ru แกแแ แแแกแจแ.
แแก แงแแแแแคแแ แ แแแ แแแแขแ แแแแแ, แแแแแ แแแแแแแแแ แกแแ แแแขแแแแ.
Telegram แแแขแแก แกแแ แแแขแ
แแแแแฌแงแแ Telegram-แแก แกแแ แแแขแแ.
แฉแแแ แแฃแแแแจแแ แแแแแ แแแแแแแแแแแก, แกแแแแช แแแแฃแจแแแแแแ แแแขแแกแ แแ แแแแกแแก แจแแขแงแแแแแแแแแ:
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);
}
แแฎแแ แแฅแแแ แจแแแแซแแแแ แแแฃแจแแแ แชแแแแแแแแแ:
$tokens - แแฅ แแ แแก แงแแแแ แกแแขแงแแ, แ แแแแแแช แแแแฎแแแ แแแแแแ แจแแแงแแแแ
$user_id - แแแแฎแแแ แแแแแก 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.Alisa-แกแแแแก
แแฎแแ แแแแแแแแแ แแแแกแแก แกแแ แแแขแแ, แแก แแแแฅแแแก แแแแแแ, แ แแช Telegram-แแกแแแแก.
แฉแแแ แแกแแแ แแฃแแแแจแแ แแแแแ แแแแแแแแแแแก, แกแแแแช แแแแฃแจแแแแแแ แแแขแแกแ แแ แแแแกแแก แจแแขแงแแแแแแแแแ, แแแฃแก แแแแแแแแแแ แแแแกแแก แแแแกแแแแ:
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'];}
}
}
แแฅ แแ แแก แ แแแแแแแแ แแแแแแแ แชแแแแแ:
$tokens - แแฅ แแ แแก แงแแแแ แกแแขแงแแ, แ แแแแแแช แแแแฎแแแ แแแแแแ แจแแแงแแแแ
$user_id - แแแแฎแแแ แแแแแก ID แแฅ
Yandex แแฃแแแแแแ แแฌแแแแก แแแแแฅแแแงแแแแฃแ แฃแแแ แแแก แแ แแ แแแแแแแขแ แฎแแแ แกแแ แแแขแแก แแแฃแงแแแแแแแแ แแแกแแกแแแแแแ, แจแแขแงแแแแแแแแก แกแ แฃแแ แแแแฃแจแแแแแแก แแแฌแงแแแแก แแแ แแจแ:
if (strpos($tokens[0], "ping") > -1) {Send_Out("pong", "", true);}
แฉแแแ แแฃแฌแแแแแ Parse_Tokens แคแฃแแฅแชแแแก แแแแฃแจแแแแแแกแแแแก, แแก แแแแแแ, แ แแช Telegram-แแกแแแแก:
$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;
}
แแฃ แแฅแแแ แแญแแ แแแแแ แฃแคแ แ แ แแฃแแ แคแแ แแแก แแแแฎแแแ แแแแแแแ แแแแฃแแแแแชแแ, แแแแ แ แแแแฎแแ-แแแกแฃแฎแ, แแแจแแ แแฅแแแ แฃแแแ แจแแแแแฎแแ แแแแฎแแแ แแแแแก $user_id แแ แแแแฎแแแ แแแแแกแแแ แฃแแแ แแแฆแแแฃแแ แแแแแชแแแแแ แแแแแชแแแแ แแแแแจแ (แแแแแแแแแ, mysql) แแ แแแแแแแแแแแ แแกแแแ Parse_Tokens แคแฃแแฅแชแแ.
แกแแแแแแแแแแจแ, แแก แแแแฅแแแก แงแแแแแคแแ แแ, แแฃ แงแแแแแคแแ แ แกแฌแแ แแ แแแแแแแ, แแแจแแ Telegram แแแขแ แฃแแแ แฎแแแแแกแแฌแแแแแแ, แแแแกแแก แฃแแแ แ แจแแแซแแแแ แจแแแแฌแแแแก
แแฃ แงแแแแแคแแ แ แกแฌแแ แแ แแฃแจแแแแก, แจแแแแซแแแแ แแแแแแแแแ แฃแแแ แ แแแแแ แแชแแแกแแแแก แฆแแแแแแ โแแแแแ แแชแแแกแแแแกโ แแแฌแแแแฃแแแแแ.
แแฎแแ แแฅแแแ แแแฅแแ แแ แ แแแขแ แแ แแแ แแฃแแแ แกแฎแแแแแกแฎแแ แแแแขแคแแ แแแกแแแแก, แ แแแแแแแช แแฃแจแแแแแ แแ แแแแแ แแ.
แแแแฃแแแแขแแชแแ Yandex.Dialogues แกแแ แแแกแแกแแแแก
แกแ แฃแแ แกแแ แแแขแแแ แแแแแฅแแแงแแแแฃแแแ github-แแ
แฌแงแแ แ: www.habr.com