ááąáˇáááşááąáŹááşá¸ááąáŹá
Telegram bot ááťáŹá¸áĄááźáąáŹááşá¸ ááąáŹááşá¸ááŤá¸ááťáŹá¸á
á˝áŹáážáááąáŹáşáááşá¸ áá°áĄáááşá¸áááşá Alice áĄáá˝ááş ááťá˝ááşá¸ááťááşáážáŻááťáŹá¸áĄááźáąáŹááşá¸ ááąá¸ááŹá¸ááźááźáŽá¸ bot áá
áşááŻáááşááŽá¸áááşá¸áážááˇáşáááşáááşáááˇáş áĄááťááşáĄáááşááᯠááťá˝ááşáŻááşááá˝áąáˇááąáŹááźáąáŹááˇáş ááťá˝ááşáŻááşááĄáá˝áąáˇáĄááźáŻáśááᯠááťážááąáááş ááŻáśá¸ááźááşáá˛áˇáááşá áááŻá¸áážááşá¸ááąáŹ Telegram bot áážááˇáş Yandex.Alice ááťá˝ááşá¸ááťááşáážáŻ áá°ááŽááąáŹ ááŻááşááąáŹááşáááŻááşá
á˝ááşá¸áážáááąáŹ áááŻááşá
áááŻáˇááźáąáŹááˇáşá áááşááŹááŹááᯠááźážááˇáşáááşáááşáážááˇáş ssl áááşáážááşááááş áááˇáşáĄáŹá¸ ááŤááźáąáŹááźáááşáááŻááşááŤá ááŻáśááąáŹááşááźáŽáᯠááąá¸ááŹá¸áááşá
Telegram bot áá áşááŻáááşááŽá¸ááźááşá¸á
ááááŚá¸á á˝áŹ Telegram bot áá áşááŻáááŻáááşááŽá¸áááŻááşááĄáąáŹááşá áĄá˛ááŤáĄáá˝ááş Telegram áááŻáá˝áŹá¸ááźáŽá¸ BotFather bot áááŻáážáŹáááŻááşááŤá


/newbot áááŻáá˝áąá¸ááŤá

ááŻáśáˇááźááşáááˇáş bot ááĄáááşáááŻááťá˝ááşáŻááşáááŻáˇáááˇáşááŤá áááŻáˇááąáŹááş bot ááĄáááşáááŻáááˇáşááŤá ááŻáśáˇááźááşáááˇáşáĄááąááźááˇáş bot áááŻááááşá¸ááťáŻááşáááşáááŻáááşáá
áşááŻááážááááşá á¤ááąáŹáˇáááŻááťááąá¸ááŤá áááşá¸áááşáĄááŹáááşáá˝ááşááťá˝ááşáŻááşáááŻáˇáĄáá˝ááşáĄááŻáśá¸áááşááááˇáşáááşá

ááąáŹááşáá
áşáááˇáşáážáŹ Telegram ááŹááŹááťáŹá¸ááᯠáááşáááˇáşááŹááŹááž bot ááśáááŻáˇ ááąááŹááąá¸áááŻáˇáááşááźá
áşáááşá ááŤáááŻááŻááşáááŻáˇá ááąáŹááşáá˛áˇ áááˇáşááşáá
áşááŻááᯠááŻááşááŤáááşá
https: //api.telegram.org/bot___ТĐĐĐĐ___/setWebhook?url=https://____ĐУТЏ_ĐĐ_ĐĄĐĐ ĐĐТĐ___
___TOKEN___ ááťá˝ááşáŻááşáááŻáˇáááş áĄá áąáŹáááŻááşá¸ááážáááŹá¸ááąáŹ bot ááž ááťá˝ááşáŻááşáááŻáˇá áááŻáááşááźááˇáş áĄá áŹá¸áááŻá¸ááŤáááşá
____PATH_TO_SCRIPT____ ááąááŹááᯠá áŽááśááąáŹááşáá˝ááşáááˇáş ááťá˝ááşáŻááşáááŻáˇáááŹááŹáážá script ááááşá áŹááźááˇáş áĄá áŹá¸áááŻá¸ááŤáááş (áĽáááŹá ).
á¤ááąááŹáá˝ááş ááźáżááŹáážáááŤáááşá api.telegram.org ááŹááŹáááş ááááşáááŻáˇááźááşá¸ááśááąáááąáŹáşáááşá¸ áááşá¸ááᯠáááşááŻááşááąáŹááşáááŻááşáááş- áááˇáşáááşááťááşááťáŹá¸ááážáááąáŹ ááąá¸áĄáááşááŹááŻáśá¸ ááŹááŹááᯠáážáŹá¸ááźáŽá¸ á¤ááŹááŹá áá˝ááşáááŻá¸ááşááž áĄááááˇáşááąá¸áááŻááşááŤá
wget ___ĐĐĐУЧĐĐШĐĐĐĄĐŻ_ĐĐĐ ĐĐĄ___
ááŤááŤáá˛á Telegram bot ááᯠáááşááŽá¸ááźáŽá¸ áááˇáşááŹááŹáá˛áˇ ááťáááşáááşááŹá¸ááŤáááşá
Yandex.Alisa áĄáá˝ááş ááťá˝ááşá¸ááťááşáážáŻáá áşáᯠáááşááŽá¸ááźááşá¸á
Yandex.Alice áĄáá˝ááş ááťá˝ááşá¸ááťááşáážáŻáá áşáᯠáááşááŽá¸ááźááşá¸áááŻáˇ áááşáá˝áŹá¸ááźááŤá ááŻáˇá
ááťá˝ááşá¸ááťááşáážáŻáá áşááŻáááşááŽá¸áááş Yandex.Dialogues developers á áŹááťááşáážáŹáááŻáˇ áá˝áŹá¸áááşáááŻáĄááşáááşá áĄá˛ááŽáážáŹ "Create Dialogue" áááŻáážáááşááźáŽá¸ "Skill in Alice" áááŻáá˝áąá¸ááŤá

ááťá˝ááşá¸ááťááşáážáŻ áááşáááş áááŻááşááŹááąáŹáˇááş áá˝ááˇáşááŹááŤáááşá

ááťá˝ááşáŻááşáááŻáˇáááş ááťá˝ááşá¸ááťááşáážáŻ áááşáááşááťáŹá¸ááᯠá
áááşáááşááąáŹááşááŤá
áááşáááťá˝ááşá¸ááťááşáážáŻáĄáááşáááŻáááˇáşááŤá

Alice á áá˝á˛ááźáŹá¸ááťááşááťáŹá¸ááž áážááşáááşá
á˝áŹ ááŹá¸áááşáááŻááşá
áąáááşáĄáá˝ááş activation áĄáááşááᯠAlice áážááˇáş Yandex.Station áááŻáˇáááŻááş Irbis A áá˛áˇáááŻáˇááąáŹ ááąáŹáşááśááťáŹá¸ááŤáááˇáş Alice ááŤáááˇáş áááŻáááŻááşá¸áĄááşáááŽááąá¸áážááşá¸ááťáŹá¸ááž á
ááŹá¸ááŻáśá¸ááťáŹá¸ááᯠáá˝á˛ááźáŹá¸á
á˝áŹ ááŹá¸áááşáááŻááşá
áąáááşáĄáá˝ááş áĄáá˝ááşáááŻáá
ááŻááşáá˝áąá¸ááťááşáááˇáşááŤáááşá
ááťá˝ááşáŻááşáááŻáˇáááş Telegram áĄáá˝ááşáá˛áˇáááŻáˇáááş ááťá˝ááşáŻááşáááŻáˇáááŹááŹáážá Script áááşá¸ááźáąáŹááşá¸áááŻáˇ ááťá˝ááşáŻááşáááŻáˇ áááşááąáŹááşáááşá áááŻáˇááąáŹáş áááşá¸áááş Alice áĄáá˝ááş ááŽá¸áááˇáş script áá áşááŻááźá áşááááˇáşáááşá .

ááťá˝ááşá¸ááťááşá
á˝áŹááźáąáŹáááˇáşáĄááśááᯠááťá˝ááşáŻááşáááŻáˇáá˝áąá¸ááťááşáááşá ááťá˝ááşáŻááşáááş áĄá˛áá
áşááĄááśááᯠáááŻááážá
áşáááşáááşá

áĄáááşá áááşáááş áááŻáááŻááşá¸ááşááááááŹááťáŹá¸ áááŻáˇáááŻááş áááąáŹááşááŹáá
áşááŻáá˝ááşáᏠááŻááşááąáŹááşáááş á
áŽá
ááşááŹá¸ááŤáá áááŻáˇááąáŹááş "áááşá
ááááşááŤáááˇáş á
ááşáá
ášá
ááşá¸áá
áşáᯠáááŻáĄááşáááş" ááᯠáá˝áąá¸ááťááşááŤá
áááŻáˇááąáŹááş Alice áááťá˝ááşá¸ááťááşáážáŻáááşáááąáŹááşáĄáá˝ááş áááşáááşááťáŹá¸áááŻáááşááŤá áĄáááşáá˝ááşá¸áááşáĄáá˝ááş "áĄáážááşááśááááş" áá°ááąáŹ á ááŹá¸ááŻáśá¸ááᯠáĄááŻáśá¸ááźáŻáááş á áŽá ááşááŹá¸ááŤáá webmaster.yandex.ru áááşááąáŹááşáážáŻáá˝ááş áĄáážááşááśááááşááááşáááŻááşááᯠáĄáááşááźáŻáááş áááŻáĄááşááŤáááşá

áááşáááşááťáŹá¸ááŤááźáŽá¸ááźáŽá ááŹááşáá˝ážááşá¸ááťáŹá¸ááŽáááŻáˇ áááşáá˝áŹá¸ááźááŤá
ááŻáˇá
Telegram bot áá˛ááťá
Telegram áĄáá˝ááş script áá áşááŻáá˛áˇ á áááŻááşááĄáąáŹááşá
bot áážááˇáş Alice ááž áááşááąáˇááťáşááťáŹá¸ááᯠááŻááşááąáŹááşáááˇáş á áŹááźááˇáşáááŻááşááᯠááťá˝ááşáŻááşáááŻáˇ ááťáááşáááşáááş-
include_once 'webhook_parse.php';
ááťá˝ááşáŻááşáááŻáˇáááş ááťá˝ááşáŻááşáááŻáˇá bot á áááŻáááşááᯠáááşáážááşáááş-
$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);
}
ááᯠáááşáááş variable ááťáŹá¸ááźááˇáş ááŻááşááąáŹááşáááŻááşáááş-
$tokens - áááŻáá˝ááş áĄááŻáśá¸ááźáŻáá°áááˇáşáá˝ááşá¸ááŹá¸ááąáŹ á ááŹá¸ááŻáśá¸ááťáŹá¸áĄáŹá¸ááŻáśá¸áááş á¤áá˝ááşááźá áşáááşá
$user_id - áĄááŻáśá¸ááźáŻáá° id á¤ááąááŹáá˝ááş
$msg_chat_id - bot á áĄááááˇáşááᯠáááşááśááážááááˇáş ááťááş
$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 áĄáá˝ááş ááťá˝ááşá¸ááťááşáážáŻ script
áĄáᯠAlice áĄáá˝ááş ááŹááşáá˝ážááşá¸ááᯠáááşááźááˇáşááĄáąáŹááşá áĄá˛ááŤá Telegram áĄáá˝ááşáá˛áˇ áĄáá°áá°ááŤáá˛á
bot áážááˇáş Alice ááž áááşááąáˇááťáşááťáŹá¸ááᯠááŻááşááąáŹááşááąá¸áááˇáş á áŹááźááˇáşáááŻááşáĄááźááş 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'];}
}
}
á¤ááąááŹáá˝ááş áĄáááşá¸áááşááąáŹ ááááşá¸áážááşáĄááťááŻáˇáážááááş-
$tokens - áááŻáá˝ááş áĄááŻáśá¸ááźáŻáá°áááˇáşáá˝ááşá¸ááŹá¸ááąáŹ á ááŹá¸ááŻáśá¸ááťáŹá¸áĄáŹá¸ááŻáśá¸áááş á¤áá˝ááşááźá áşáááşá
$user_id - áĄááŻáśá¸ááźáŻáá° id á¤ááąááŹáá˝ááş
Yandex áááş ááŻááşááąááŹá¸ááąáŹ ááťá˝ááşá¸ááťááşáážáŻááťáŹá¸ááᯠáĄáááşáááźááş ping ááŻááşááźáŽá¸ áááşááąáˇááťáşá áĄááźááˇáşáĄá ááŻááşááąáŹááşááźááşá¸ááᯠáá áááşáᲠscript ááᯠááťááşááťááşá¸áá˝ááşáááş á áŹááźáąáŹááşá¸áá áşááźáąáŹááşá¸ áááşáááˇáşáááŻááşáááş-
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 ááŻááşááąáŹááşááźááşá¸ script áááŻááşáááŻááşá áĽáááŹáá áşááŻáĄáá˝ááş áááşáááş áááşááŽá¸ááŹá¸ááźááşá¸ááźá áşááźáŽá¸á áááşáááş áááşáááˇáşá á áşááąá¸áážáŻáážááˇáşáááᯠááŻááşááąáŹááşáááŻááşáááş á
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 bot ááááąááźáŽá Alice áá˛áˇááťá˝ááşá¸ááťááşáážáŻáááŻá á áşááąá¸áááŻááşááŤáááşá á ááşá¸áááşááźááşá¸áááşááşáážá áááşáááťá˝ááşá¸ááťááşáážáŻáĄáá áşáááŻáˇ áá˝áŹá¸ááźááşá¸ááźááˇáşá

áĄááŹáĄáŹá¸ááŻáśá¸ áážááşáááşá
á˝áŹ ááŻááşááąáŹááşááŤáá áááşáááş "á
áá
á
áşáááş" áááŻááşááᯠáážáááşááźááşá¸ááźááˇáş ááťá˝ááşá¸ááťááşáážáŻááᯠááąá¸áááŻáˇáááŻááşááŤáááşá
ááᯠáááˇáşáá˝ááş ááá°ááŽááąáŹááááşááąáŹááşá¸ááťáŹá¸áĄáá˝ááş ááąáŹáˇááşáážá áşááŻááᯠáá áşááźááŻááşáááşáááşá¸ ááŻááşááąáŹááşáááŻááşááźáŽááźá áşááźáŽá¸ áá°ááŽááąáŹáááşá¸áááşá¸ááźááˇáş ááŻááşááąáŹááşáááşá
Yandex.Dialogues áááşááąáŹááşáážáŻáĄáá˝ááş á áŹáá˝ááşá áŹáááşá¸
ááŹááşáá˝ážááşá¸áĄááźááˇáşáĄá
áŻáśááᯠgithub áá˝ááş áááşááŹá¸áááşá .
source: www.habr.com
