ΠΠΎΠ±Π°Ρ Π΄Π΅Π½.
ΠΠΌΠ° ΠΌΠ½ΠΎΠ³Ρ ΡΡΠ°ΡΠΈΠΈ Π½Π° ΡΠ΅ΠΌΠ° Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ Π±ΠΎΡΠΎΠ²ΠΈ, Π½ΠΎ ΠΌΠ°Π»ΠΊΡΠΌΠΈΠ½Π° ΠΏΠΈΡΡΠ²Π°Π°Ρ Π·Π° Π²Π΅ΡΡΠΈΠ½ΠΈ Π·Π° ΠΠ»ΠΈΡ, Π° ΡΠ°Ρ Π½Π΅ Π½Π°ΡΠ΄ΠΎΠ² Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²Π°ΠΌ Π΅Π΄Π΅Π½ Π±ΠΎΡ, ΠΏΠ° ΡΠ΅ΡΠΈΠ² Π΄Π° Π³ΠΎ ΡΠΏΠΎΠ΄Π΅Π»Π°ΠΌ ΠΌΠΎΠ΅ΡΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ Π΄Π° Π½Π°ΠΏΡΠ°Π²Π°ΠΌ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ Π±ΠΎΡ Π½Π° Telegram ΠΈ Π²Π΅ΡΡΠΈΠ½Π°ΡΠ° Yandex.Alice Π·Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΡΠΎ ΡΠ° ΠΈΠΌΠ° ΠΈΡΡΠ°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
ΠΠ½Π°ΡΠΈ, Π½Π΅ΠΌΠ° Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΏΠΎΠ΄ΠΈΠ³Π½Π΅ΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ssl ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π·Π° ΡΠΎΠ°.
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° Π±ΠΎΡ Π½Π° Telegram
ΠΡΠ²ΠΎ, Π°ΡΠ΄Π΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ Π±ΠΎΡ Telegram, Π·Π° ΠΎΠ²Π° ΠΎΠ΄ΠΈΠΌΠ΅ Π²ΠΎ Telegram ΠΈ ΡΠ°ΠΌΡ Π³ΠΎ Π½Π°ΠΎΡΠ°ΠΌΠ΅ Π±ΠΎΡΠΎΡ BotFather.
ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ /newbot
ΠΠΎ Π²Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π±ΠΎΡΠΎΡ ΡΠΎ ΠΊΠΎΡ ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ, ΠΏΠΎΡΠΎΠ° Π³ΠΎ Π²Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π±ΠΎΡΠΎΡ, ΠΊΠ°ΠΊΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠΎΠΊΠ΅Π½ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° Π±ΠΎΡΠΎΡ, Π³ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ ΠΎΠ²ΠΎΡ ΠΊΠ»ΡΡ, ΡΠ΅ Π½ΠΈ Π±ΠΈΠ΄Π΅ ΠΊΠΎΡΠΈΡΠ΅Π½ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°.
Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ Π΅ Π΄Π° ΠΈΠΌ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΈΡΠ΅ Π½Π° Telegram Π½Π° ΠΊΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π° ΠΈΡΠΏΡΠ°ΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ Π±ΠΎΡΠΎΡ. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΠΏΡΠ°Π²ΠΈΠΌΠ΅ Π²ΡΡΠΊΠ° ΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ°:
https: //api.telegram.org/bot___Π’ΠΠΠΠ___/setWebhook?url=https://____ΠΠ£Π’Π¬_ΠΠ_Π‘ΠΠ ΠΠΠ’Π___
___TOKEN___ Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΡΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠΎΠΊΠ΅Π½ ΠΎΠ΄ Π±ΠΎΡΠΎΡ, Π΄ΠΎΠ±ΠΈΠ΅Π½ ΠΏΠΎΡΠ°Π½ΠΎ
____PATH_TO_SCRIPT____ ΡΠ° Π·Π°ΠΌΠ΅Π½ΡΠ²Π°ΠΌΠ΅ ΡΠΎ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΎΠ²Π΄Π΅, ΡΠ΅ΡΠ²Π΅ΡΠΎΡ api.telegram.org Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°: ΠΈΠ·Π½Π°ΡΠΌΠ΅ΡΠ΅ Π³ΠΎ Π½Π°ΡΠ΅Π²ΡΠΈΠ½ΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π½Π΅ΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° ΠΈ Π΄Π°ΡΡΠ΅ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΎΠ΄ ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° ΠΎΠ²ΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ
wget ___ΠΠΠΠ£Π§ΠΠΠ¨ΠΠΠ‘Π―_ΠΠΠ ΠΠ‘___
Π’ΠΎΠ° Π΅ ΡΓ¨, Π±ΠΎΡΠΎΡ Telegram Π΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ ΡΠΎ Π²Π°ΡΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ.
Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Π° Π·Π° Yandex.Alisa
ΠΡΠ΄Π΅ Π΄Π° ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π°ΠΌΠ΅ Π²Π΅ΡΡΠΈΠ½Π° Π·Π° Yandex.Alice.
ΠΠ° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Π°, ΡΡΠ΅Π±Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ Yandex.Dialogues
ΠΠ΅ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ Π΄ΠΈΡΠ°Π»ΠΎΠ³ΠΎΡ Π·Π° ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ Π·Π° Π²Π΅ΡΡΠΈΠ½ΠΈ.
ΠΠΎΡΠ½ΡΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΈ Π²Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π·Π° Π²Π΅ΡΡΠΈΠ½ΠΈ.
ΠΠ½Π΅ΡΠ΅ΡΠ΅ Π³ΠΎ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠ°ΡΠ° Π²Π΅ΡΡΠΈΠ½Π°.
ΠΠΌΠ΅ΡΠΎ Π·Π° Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡΠ° ΡΡΠ΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅ ΠΈΠ·Π±ΡΠ°Π½ΠΎ ΠΌΠ½ΠΎΠ³Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π·Π° ΠΠ»ΠΈΡ Π΄Π° Π³ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΎΠ΄ Π½ΠΈΡΠ°Π½ΡΠΈΡΠ΅ - ΠΌΠΎΠ±ΠΈΠ»Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠΎ ΠΠ»ΠΈΡ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΊΠ°ΠΊΠΎ Yandex.Station ΠΈΠ»ΠΈ Irbis A ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΠΏΠ΅ΡΡΠ΅ΠΏΠΈΡΠ° Π·Π±ΠΎΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠΈΠ½Π°ΠΊΡ.
ΠΠ° Π²Π½Π΅ΡΡΠ²Π°ΠΌΠ΅ ΠΏΠ°ΡΠ΅ΠΊΠ°ΡΠ° Π΄ΠΎ ΡΠΊΡΠΈΠΏΡΠ°ΡΠ° Π½Π° Π½Π°ΡΠΈΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ Π½Π° ΠΈΡΡ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° Telegram, Π½ΠΎ ΡΠΎΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅ ΡΠΊΡΠΈΠΏΡΠ° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° ΠΠ»ΠΈΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠΎ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Π³Π»Π°ΡΠΎΡ ΡΠΎ ΠΊΠΎΡ ΡΠ΅ Π·Π±ΠΎΡΡΠ²Π° Π²Π΅ΡΡΠΈΠ½Π°ΡΠ°, ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΌΠΈ ΡΠ΅ Π΄ΠΎΠΏΠ°ΡΠ° Π³Π»Π°ΡΠΎΡ Π½Π° ΠΠ»ΠΈΡΠ°.
ΠΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΈΠ»ΠΈ Π²ΠΎ ΠΏΡΠ΅Π»ΠΈΡΡΡΠ²Π°Ρ, ΡΠΎΠ³Π°Ρ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ βΠΠΈ ΡΡΠ΅Π±Π° ΡΡΠ΅Π΄ ΡΠΎ Π΅ΠΊΡΠ°Π½β.
Π‘Π»Π΅Π΄Π½ΠΎ, Π²Π½Π΅ΡΠ΅ΡΠ΅ Π³ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅ Π·Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΡ Π½Π° Π²Π΅ΡΡΠΈΠ½ΠΈ Π½Π° ΠΠ»ΠΈΡ. ΠΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π·Π±ΠΎΡΠΎΡ βΠ±ΡΠ΅Π½Π΄β Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅, ΡΡΠ΅Π±Π° Π΄Π° ΡΠ° ΠΏΠΎΡΠ²ΡΠ΄ΠΈΡΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° Π±ΡΠ΅Π½Π΄ΠΎΡ Π²ΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° webmaster.yandex.ru.
Π’ΠΎΠ° Π΅ ΡΠ΅ ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈΡΠ΅, Π°ΡΠ΄Π΅ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΈΡΠ΅.
Π’Π΅Π»Π΅Π³ΡΠ°ΠΌΠ° Π±ΠΎΡ ΡΠΊΡΠΈΠΏΡΠ°
ΠΠ° ΠΏΠΎΡΠ½Π΅ΠΌΠ΅ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π·Π° 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
Π‘Π΅Π³Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌΠ΅ Π½Π° ΡΡΠ΅Π½Π°ΡΠΈΠΎΡΠΎ Π·Π° ΠΠ»ΠΈΡ, ΡΠΎΠ° Π΅ ΡΠ΅ΡΠΈΡΠΈ ΠΈΡΡΠΎ ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° Π’Π΅Π»Π΅Π³ΡΠ°ΠΌ.
ΠΠ° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΠΌΠ΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΊΠ°Π΄Π΅ ΡΡΠΎ ΡΠ΅ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠ²Π°Π°Ρ ΠΏΠΎΡΠ°ΠΊΠΈΡΠ΅ ΠΎΠ΄ Π±ΠΎΡΠΎΡ ΠΈ ΠΠ»ΠΈΡ, ΠΏΠ»ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎ ΠΊΠ»Π°ΡΠΈ Π·Π° ΠΠ»ΠΈΡ:
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