Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ื’ื•ื˜ ื ืึธื›ืžื™ื˜ืึธื’.

ืขืก ื–ืขื ืขืŸ ืึท ืคึผืœืึทืฅ ืคื•ืŸ ืึทืจื˜ื™ืงืœืขืŸ ืื•ื™ืฃ ื“ืขืจ ื˜ืขืžืข ืคื•ืŸ โ€‹โ€‹ื˜ืขืœืขื’ืจืึทื ื‘ืึธืฅ, ืึธื‘ืขืจ ื•ื•ื™ื™ื ื™ืง ืžืขื ื˜ืฉืŸ ืฉืจื™ื™ึทื‘ืŸ ื•ื•ืขื’ืŸ ืกืงื™ืœื– ืคึฟืึทืจ ืึทืœื™ืก, ืื•ืŸ ืื™ืš ืงืขืŸ ื ื™ืฉื˜ ื’ืขืคึฟื™ื ืขืŸ ืงื™ื™ืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื•ื•ื™ ืฆื• ืžืึทื›ืŸ ืึท ืื™ื™ืŸ ื‘ืึธื˜, ืึทื–ื•ื™ ืื™ืš ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื˜ื™ื™ืœืŸ ืžื™ื™ืŸ ื“ืขืจืคืึทืจื•ื ื’ ื•ื•ื™ ืฆื• ืžืึทื›ืŸ ืึท ื‘ืึธื˜. ืคึผืฉื•ื˜ ื˜ืขืœืขื’ืจืึทื ื‘ืึธื˜ ืื•ืŸ ื“ื™ Yandex.Alice ื‘ืงื™ืขืก ืคึฟืึทืจ ื“ื™ ืคึผืœืึทืฅ ืžื™ื˜ ื“ื™ ื–ืขืœื‘ืข ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™.

ืึทื–ื•ื™, ืื™ืš ื•ื•ืขืœ ื ื™ืฉื˜ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ื™ ืฆื• ื›ืึทืคึผืŸ ืึท ื•ื•ืขื‘ ืกืขืจื•ื•ืขืจ ืื•ืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ssl ื‘ืึทื•ื•ื™ื™ึทื–ืŸ, ื’ืขื ื•ื’ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ื•ื•ืขื’ืŸ ืื™ื.

ืฉืึทืคึฟืŸ ืึท ื˜ืขืœืขื’ืจืึทื ื‘ืึธื˜

ืขืจืฉื˜ืขืจ, ืœืึธืžื™ืจ ืžืึทื›ืŸ ืึท ื˜ืขืœืขื’ืจืึทื ื‘ืึธื˜, ืคึฟืึทืจ ื“ืขื ืžื™ืจ ื’ื™ื™ืŸ ืฆื• ื˜ืขืœืขื’ืจืึทื ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ BotFather Bot ื“ืึธืจื˜.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ืงืœื™ื™ึทื‘ืŸ / newbot

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ืžื™ืจ ืึทืจื™ื™ึทืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ื‘ืึธื˜ ื“ื•ืจืš ื•ื•ืึธืก ืขืก ื•ื•ืขื˜ ืจื™ืกืคึผืึทื ื“, ื“ืขืžืึธืœื˜ ืžื™ืจ ืึทืจื™ื™ึทืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ ื‘ืึธื˜, ืื™ืŸ ืขื ื˜ืคืขืจ ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืึท ืกื™ืžืขืŸ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ืขื ื‘ืึธื˜, ืžื™ืจ ืฉืจื™ื™ึทื‘ืŸ ื“ืขื ืฉืœื™ืกืœ, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืื•ื ื“ื– ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉืจื™ื˜ ืื™ื– ืฆื• ื–ืึธื’ืŸ ื“ื™ ื˜ืขืœืขื’ืจืึทื ืกืขืจื•ื•ืขืจืก ืฆื• ื•ื•ืึธืก ืกืขืจื•ื•ืขืจ ืฆื• ืฉื™ืงืŸ ื“ืึทื˜ืŸ ืคึฟื•ืŸ ื“ื™ ื‘ืึธื˜. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ืžืึทื›ืŸ ืึท ืœื™ื ืง ืคื•ืŸ ื“ื™ ืคืึธืจืขื:

https: //api.telegram.org/bot___ะขะžะšะ•ะ___/setWebhook?url=https://____ะŸะฃะขะฌ_ะ”ะž_ะกะšะ ะŸะ˜ะขะ___

___TOKEN___ ืžื™ืจ ืคืึทืจื‘ื™ื™ึทื˜ืŸ ืžื™ื˜ ืื•ื ื“ื–ืขืจ ืกื™ืžืขืŸ ืคื•ืŸ ื“ื™ ื‘ืึธื˜, ื‘ืืงื•ืžืขืŸ ืคืจื™ืขืจ

____PATH_TO_SCRIPT____ ืžื™ืจ ืคืึทืจื‘ื™ื™ึทื˜ืŸ ืžื™ื˜ ื“ื™ ืึทื“ืจืขืก ืคื•ืŸ ื“ื™ ืฉืจื™ืคื˜ ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจ ื•ื•ื• ื“ื™ ื“ืึทื˜ืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜ (ืœืžืฉืœ, www.my_server.ru/webhook_telegram.php).

ืขืก ืื™ื– ืึท ืคึผืจืึธื‘ืœืขื ื“ืึธ, ื“ืขืจ api.telegram.org ืกืขืจื•ื•ืขืจ ืื™ื– ืื•ื ื˜ืขืจ ื‘ืœืึทืงื™ื ื’, ืึธื‘ืขืจ ืื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ื“ืึธืก: ื“ื™ื ื’ืขืŸ ื“ื™ ื˜ืฉื™ืคึผืึทืกื˜ ืกืขืจื•ื•ืขืจ ื•ื•ื• ืขืก ื–ืขื ืขืŸ ืงื™ื™ืŸ ืจื™ืกื˜ืจื™ืงืฉืึทื ื– ืื•ืŸ ื’ืขื‘ืŸ ื“ื™ ื‘ืึทืคึฟืขืœ ืคื•ืŸ ื“ื™ ืงืึทื ืกืึธื•ืœ ืคื•ืŸ ื“ืขื ืกืขืจื•ื•ืขืจ.

wget ___ะŸะžะ›ะฃะงะ˜ะ’ะจะ˜ะ™ะกะฏ_ะะ”ะ ะ•ะก___

ืึทื– ืก ืขืก, ื“ื™ ื˜ืขืœืขื’ืจืึทื ื‘ืึธื˜ ืื™ื– ื‘ืืฉืืคืŸ ืื•ืŸ ืงืึธื ื ืขืงื˜ืขื“ ืฆื• ื“ื™ื™ืŸ ืกืขืจื•ื•ืขืจ.

ืฉืึทืคึฟืŸ ืึท ื‘ืงื™ืขืก ืคึฟืึทืจ ื™ืึทื ื“ืขืงืก.ืึทืœื™ืกืึท

ื–ืืœ ืก ืžืึทืš ืื•ื™ืฃ ืฆื• ืฉืึทืคึฟืŸ ืึท ื‘ืงื™ืขืก ืคึฟืึทืจ Yandex.Alice.

ืฆื• ืฉืึทืคึฟืŸ ืึท ื‘ืงื™ืขืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื’ื™ื™ืŸ ืฆื• ื“ื™ Yandex.Dialoges ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื‘ืœืึทื˜ Yandex.Dialogs ื“ืขื•ื•ืขืœืึธืคึผืขืจ ื‘ืœืึทื˜, ื’ื™ื˜ ื“ืึธืจื˜ "ืฉืึทืคึฟืŸ ื“ื™ืึทืœืึธื’" ืื•ืŸ ืกืขืœืขืงื˜ื™ืจืŸ "ืกืงื™ืœ ืื™ืŸ ืึทืœื™ืก".

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ื“ืขืจ ื“ื™ืึทืœืึธื’ ืคื•ืŸ ืกืงื™ืœื– ืกืขื˜ื˜ื™ื ื’ืก ื•ื•ืขื˜ ืขืคืขื ืขืŸ.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ืึทืจื™ื™ึทืŸ ื“ื™ ืกืงื™ืœื– ืกืขื˜ื˜ื™ื ื’ืก.

ืึทืจื™ื™ึทืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ื™ื™ืŸ ื‘ืงื™ืขืก.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ื“ื™ ืึทืงื˜ืึทื•ื•ื™ื™ืฉืึทืŸ ื ืึธืžืขืŸ ื–ืึธืœ ื–ื™ื™ืŸ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ื–ื™ื™ืขืจ ืงืขืจืคืึทืœื™ ืึทื–ื•ื™ ืึทื– ืึทืœื™ืก ืคึฟืึทืจืฉื˜ื™ื™ืŸ ืขืก ืจื™ื›ื˜ื™ืง, ืคึฟื•ืŸ ื“ื™ ื ื•ืึทื ืกื™ื– - ืึท ืจื™ืจืขื•ื•ื“ื™ืง ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื™ื˜ ืึทืœื™ืก ืื•ืŸ ืฉืคืืœื˜ืŸ ื•ื•ื™ Yandex.Station ืึธื“ืขืจ Irbis A ืงืขื ืขืŸ ื–ืขืŸ ื•ื•ืขืจื˜ืขืจ ืึทื ื“ืขืจืฉ.

ืžื™ืจ ืึทืจื™ื™ึทืŸ ื“ืขื ื“ืจืš ืฆื• ื“ื™ ืฉืจื™ืคื˜ ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ืกืขืจื•ื•ืขืจ ืื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขื’ ื•ื•ื™ ืคึฟืึทืจ ื˜ืขืœืขื’ืจืึทื, ืึธื‘ืขืจ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืึท ืฉืจื™ืคื˜ ืกืคึผืึทืกื™ืคื™ืงืœื™ ืคึฟืึทืจ ืึทืœื™ืก, ืœืžืฉืœ www.my_server.ru/webhook_alice.php.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ืžื™ืจ ืงืœื™ื™ึทื‘ืŸ ื“ื™ ืงื•ืœ ืžื™ื˜ ื•ื•ืึธืก ื“ื™ ื‘ืงื™ืขืก ื•ื•ืขื˜ ืจืขื“ืŸ, ืื™ืš ื•ื•ื™ ืึทืœื™ืก ืก ืงื•ืœ ืžืขืจ.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ืื•ื™ื‘ ืื™ืจ ืคึผืœืึทืŸ ืฆื• ืึทืจื‘ืขื˜ืŸ ื‘ืœื•ื™ื– ืื•ื™ืฃ ืจื™ืจืขื•ื•ื“ื™ืง ื“ืขื•ื•ื™ืกืขืก ืึธื“ืขืจ ืื™ืŸ ืึท ื‘ืœืขื˜ืขืจืขืจ, โ€‹โ€‹ืกืขืœืขืงื˜ื™ืจืŸ "ืื™ืจ ื“ืึทืจืคึฟืŸ ืึท ืžื™ื˜ืœ ืžื™ื˜ ืึท ืคืึทืจืฉื˜ืขืœืŸ."

ื“ืขืจื ืึธืš ืึทืจื™ื™ึทืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ืคึฟืึทืจ ืึทืœื™ืก ืก ืกืงื™ืœื– ืงืึทื˜ืึทืœืึธื’. ืื•ื™ื‘ ืื™ืจ ืคึผืœืึทืŸ ืฆื• ื ื•ืฆืŸ ื“ื™ ื•ื•ืึธืจื˜ "ืกืึธืจื˜" ืคึฟืึทืจ ืึทืงื˜ืึทื•ื•ื™ื™ืฉืึทืŸ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ืคื•ืŸ ื“ื™ ืกืึธืจื˜ ืื™ืŸ ื“ื™ ื•ื•ืขื‘master.yandex.ru ื“ื™ื ืกื˜.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ื“ืึธืก ืื™ื– ืึทืœืข ืžื™ื˜ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก, ืœืึธื–ืŸ ืื•ื ื“ื– ื’ื™ื™ืŸ ืฆื• ื“ื™ ืกืงืจื™ืคึผืก.

ื˜ืขืœืขื’ืจืึทื ื‘ืึธื˜ ืฉืจื™ืคื˜

ืœืึธืžื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ืึท ืฉืจื™ืคื˜ ืคึฟืึทืจ ื˜ืขืœืขื’ืจืึทื.

ืžื™ืจ ืคืึทืจื‘ื™ื ื“ืŸ ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื•ื•ื• ืึทืจื˜ื™ืงืœืขืŸ ืคื•ืŸ ื“ื™ ื‘ืึธื˜ ืื•ืŸ ืึทืœื™ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืกืขืกื˜:

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.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'];}
  }
}

ื“ืึธ ื–ืขื ืขืŸ ืขื˜ืœืขื›ืข ื•ื•ื™ื™ื ื™ืงืขืจืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–:

$ื˜ืึธืงืขื ืก - ื“ืึธ ื–ืขื ืขืŸ ืื™ืฆื˜ ืึทืœืข ื“ื™ ื•ื•ืขืจื˜ืขืจ ื•ื•ืึธืก ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ืืจื™ื™ืŸ

$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;
}

ืื•ื™ื‘ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื‘ืขืจื’ืขื‘ืŸ ืžื™ื˜ ืึท ื‘ืึทื ื™ืฆืขืจ ืคื•ืŸ ืึท ืžืขืจ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ืคืึธืจืขื ื•ื•ื™ ืึท ืงืฉื™ื-ืขื ื˜ืคึฟืขืจ, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืจืึทื˜ืขื•ื•ืขืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ 'ืก $user_id ืื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ืฉื•ื™ืŸ ื‘ืืงื•ืžืขืŸ ืคื•ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืื™ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก (ืœืžืฉืœ, mysql) ืื•ืŸ ืึทื ืึทืœื™ื™ื– ื–ื™ื™ ืื™ืŸ ื“ื™ Parse_Tokens ืคึฟื•ื ืงืฆื™ืข.

ืึทืงื˜ื•ืึทืœืœื™, ื“ืึธืก ืื™ื– ื›ึผืžืขื˜ ืึทืœืฅ, ืื•ื™ื‘ ืึทืœืฅ ืื™ื– ื’ืขื˜ืืŸ ืจื™ื›ื˜ื™ืง, ื“ื™ ื˜ืขืœืขื’ืจืึทื ื‘ืึธื˜ ืื™ื– ืฉื•ื™ืŸ ื‘ื ื™ืžืฆื, ืึทืœื™ืก ืก ื‘ืงื™ืขืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืึธืคึผื’ืขืฉื˜ืขืœื˜ dialogs.yandex.ru/developerื“ื•ืจืš ื’ื™ื™ืŸ ืฆื• ื“ื™ื™ืŸ ื ื™ื™ึทืข ืกืงื™ืœื– ืื•ื™ืฃ ื“ื™ ื˜ืขืกื˜ื™ื ื’ ืงื•ื•ื™ื˜ืœ.

Yandex.Alisa ืื•ืŸ Telegram Bot ืื™ืŸ PHP ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™

ืื•ื™ื‘ ืึทืœืฅ ืึทืจื‘ืขื˜ ืจื™ื›ื˜ื™ืง, ืื™ืจ ืงืขื ืขืŸ ืฉื™ืงืŸ ื“ื™ ื‘ืงื™ืขืก ืคึฟืึทืจ ืžืึทื“ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื’ืขื‘ืŸ ืึท ืงืœื™ืง ื“ืขื ืงื ืขืคึผืœ "ืคึฟืึทืจ ืžืึทื“ืขืจื™ื™ืฉืึทืŸ".

ืื™ืฆื˜ ืื™ืจ ื”ืึธื‘ืŸ ืฆื•ื•ื™ื™ ื‘ืึธืฅ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ืคึผืœืึทื˜ืคืึธืจืžืก ืื™ืŸ ืึทืžืึธืœ, ื•ื•ืึธืก ืึทืจื‘ืขื˜ ืื™ืŸ ื“ื™ ื–ืขืœื‘ืข ื•ื•ืขื’.

ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื“ื™ Yandex.Dialoges ื“ื™ื ืกื˜ ื“ืึธ

ื’ืึทื ืฅ ืกืงืจื™ืคึผืก ืึทืจื™ื™ึทื ื’ืขืฉื™ืงื˜ ืื•ื™ืฃ ื’ื™ื˜ื”ื•ื‘ ืึธืคึผืœืึธื“ื™ืจืŸ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’