ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π”ΠΎΠ±ΡŠΡ€ Π΄Π΅Π½.

Има ΠΌΠ½ΠΎΠ³ΠΎ статии относно Telegram-Π±ΠΎΡ‚ΠΎΠ²Π΅Ρ‚Π΅, Π½ΠΎ ΠΌΠ°Π»ΠΊΠΎ сС пишС Π·Π° умСнията Π½Π° Алиса, Π° информация Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Π΅Π΄ΠΈΠ½Π΅Π½ Π±ΠΎΡ‚ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ Π½Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ…, Π·Π°Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠΈΡ… Π΄Π° сподСля ΠΎΠΏΠΈΡ‚Π° си Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ прост Telegram-Π±ΠΎΡ‚ ΠΈ ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π·Π° ЯндСкс.Алиса Π·Π° сайт, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½Π½Π° функционалност.

И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊ Π΄Π° настроим ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ssl-сСртификат няма Π΄Π° говоря, ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π²ΡŠΠΏΡ€ΠΎΡ Π΅ написано Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ.

БъздаванС Π½Π° Telegram-Π±ΠΎΡ‚

ΠŸΡŠΡ€Π²ΠΎ Ρ‰Π΅ създадСм Telegram-Π±ΠΎΡ‚, Π·Π° Ρ†Π΅Π»Ρ‚Π° ΠΎΡ‚ΠΈΠ²Π°ΠΌΠ΅ Π² Telegram ΠΈ Π½Π°ΠΌΠΈΡ€Π°ΠΌΠ΅ Π±ΠΎΡ‚Π° BotFather.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π˜Π·Π±ΠΈΡ€Π°Π΅ΠΌ /newbot

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π’ΡŠΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π±ΠΎΡ‚Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ Ρ‚ΠΎΠΉ Ρ‰Π΅ отговаря, послС въвСТдамС ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π±ΠΎΡ‚Π°, Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Ρ‚ΠΎΠΊΠ΅Π½ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΎΡ‚Π°, запомнямС Ρ‚ΠΎΠ·ΠΈ ΠΊΠ»ΡŽΡ‡, Ρ‚ΠΎΠΉ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ-късно.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π‘Π»Π΅Π΄Π²Π°Ρ‰Π°Ρ‚Π° ΡΡ‚ΡŠΠΏΠΊΠ° Π΅ Π΄Π° ΡƒΠ²Π΅Π΄ΠΎΠΌΠΈΠΌ ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π½Π° Telegram, Π½Π° ΠΊΠΎΠΉ ΡΡŠΡ€Π²ΡŠΡ€ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Π±ΠΎΡ‚Π°. Π—Π° Ρ†Π΅Π»Ρ‚Π° ΠΏΡ€Π°Π²ΠΈΠΌ Π»ΠΈΠ½ΠΊ ΠΎΡ‚ Π²ΠΈΠ΄Π°:

https://api.telegram.org/bot___Π’ΠžΠšΠ•Π___/setWebhook?url=https://____ПУВЬ_Π”Πž_БКРПИВА___

___Π’ΠžΠšΠ•Π___ замСнямС с нашия Ρ‚ΠΎΠΊΠ΅Π½ ΠΎΡ‚ Π±ΠΎΡ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΏΠΎ-Ρ€Π°Π½ΠΎ

____ПУВЬ_Π”Πž_БКРПИВА___ замСнямС с адрСса Π½Π° скрипта Π½Π° нашия ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, www.my_server.ru/webhook_telegram.php).

Π’ΡƒΠΊ ΠΈΠΌΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ api.telegram.org Π΅ ΠΏΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠ°: Π½Π°Π΅ΠΌΠ΅Ρ‚Π΅ Π½Π°ΠΉ-Свтиния ΡΡŠΡ€Π²ΡŠΡ€ Ρ‚Π°ΠΌ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ няма ограничСния ΠΈ Π΄Π°ΠΉΡ‚Π΅ ΠΎΡ‚ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°

wget ___ΠŸΠžΠ›Π£Π§Π˜Π’Π¨Π˜_АДРЕБ___

Всичко, Telegram-Π±ΠΎΡ‚ΡŠΡ‚ Π΅ създадСн ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ с вашия ΡΡŠΡ€Π²ΡŠΡ€.

БъздаванС Π½Π° ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π·Π° ЯндСкс.Алиса

Π”Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅ΠΌ към ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π·Π° ЯндСкс.Алиса.

Π—Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΡƒΠΌΠ΅Π½ΠΈΠ΅, трябва Π΄Π° ΠΎΡ‚ΠΈΠ΄Π΅Ρ‚Π΅ Π½Π° страницата Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ЯндСкс.Π”ΠΈΠ°Π»ΠΎΠ·ΠΈ страницата Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ЯндСкс.Π”ΠΈΠ°Π»ΠΎΠ·ΠΈ, Ρ‚Π°ΠΌ натиснСтС β€žΠ‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³β€œ ΠΈ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ β€žΠ£ΠΌΠ΅Π½ΠΈΠ΅ Π² ΠΠ»ΠΈΡΠ°β€œ.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π©Π΅ сС ΠΎΡ‚Π²ΠΎΡ€ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ Π·Π° настройки Π½Π° ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ Π΄Π° въвСТдамС настройкитС Π½Π° ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Π’ΡŠΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΠΈΠ΅.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Активираното ΠΈΠΌΠ΅ трябва Π΄Π° сС ΠΏΠΎΠ΄Π±ΠΈΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Алиса Π΄Π° Π³ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, ΠΎΡ‚ Π½ΡŽΠ°Π½ΡΠΈΡ‚Π΅ - ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Алисата ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈΡ‚Π΅ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ЯндСкс.Бтанция ΠΈΠ»ΠΈ Irbis A ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΡŠΠ·ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ‚ Π΄ΡƒΠΌΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ.

Π’ΡŠΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡŠΡ‚Ρ Π΄ΠΎ скрипта Π½Π° нашия ΡΡŠΡ€Π²ΡŠΡ€ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° Telegram, Π½ΠΎ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС скрипт ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° Алиса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ www.my_server.ru/webhook_alice.php.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π˜Π·Π±ΠΈΡ€Π°ΠΌΠ΅ гласа, с ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈ ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, Π½Π° ΠΌΠ΅Π½ ΠΌΠΈ харСсва ΠΈΠΌΠ΅Π½Π½ΠΎ Π³Π»Π°ΡΡŠΡ‚ Π½Π° Алиса.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Ако сС ΠΏΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π° само Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ устройства ΠΈΠ»ΠΈ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€, ΠΈΠ·Π±ΠΈΡ€Π°ΠΌΠ΅ β€žΠΡƒΠΆΠ½ΠΎ устройство с Π΅ΠΊΡ€Π°Π½β€œ.

Π‘Π»Π΅Π΄Π²Π° Π΄Π° въвСдСм настройкитС Π·Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° умСнията Π½Π° Алисa. Ако ΠΏΠ»Π°Π½ΠΈΡ€Π°Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π·Π° Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π΄ΡƒΠΌΠ°Ρ‚Π° β€” Π±Ρ€Π°Π½Π΄, трябва Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ вСрификация Π½Π° сайта Π½Π° Π±Ρ€Π°Π½Π΄Π° Π² сСрвиза webmaster.yandex.ru.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π‘ настройкитС всичко Π΅ Π½Π°Ρ€Π΅Π΄, ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ към скриптовСтС.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π·Π° Telegram-Π±ΠΎΡ‚Π°

НСка Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ със скрипта Π·Π° Telegram.

Π‘Π²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° ΠΎΡ‚ Π±ΠΎΡ‚Π° ΠΈ Алисa:

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();
    // Някаква Π³Ρ€Π΅ΡˆΠΊΠ° (заявката Π½Π΅ Π΅ Π²Π°Π»ΠΈΠ΄Π΅Π½ JSON)
}
else if (!isset($request['update_id']) || !isset($request['message']))
{
  die();
    // Някаква Π³Ρ€Π΅ΡˆΠΊΠ° (заявката няма ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅)
}
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);
}

Β 

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π·Π° ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ЯндСкс.Алисa

Π‘Π΅Π³Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ към скрипта Π·Π° Алисa, Ρ‚ΠΎΠΉ Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ ΡΡŠΡ‰ΠΈΡΡ‚ ΠΊΠ°Ρ‚ΠΎ Π·Π° Telegram.

Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΡΠ²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‰Π΅ сС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡΡ‚Π° ΠΎΡ‚ Π±ΠΎΡ‚Π° ΠΈ Алисa, плюс Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° с класовСтС Π·Π° Алисa:

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

ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈΡ‚Π΅:

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

РаздСлямС Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ:

Π°ΠΊΠΎ (isset($data['request']))
{

//original_utterance


  Π°ΠΊΠΎ (isset($data['meta']))
  {
    $data_meta = $data['meta'];
    Π°ΠΊΠΎ (isset($data_meta['client_id'])) {$client_id = $data_meta['client_id'];}
  }

  Π°ΠΊΠΎ (isset($data['request']))
  {
    $data_req = $data['request'];

    Π°ΠΊΠΎ (isset($data_req['original_utterance']))
    {
      $original_utterance = $data_req['original_utterance'];
    }


    Π°ΠΊΠΎ (isset($data_req['command'])) {$data_msg = $data_req['command'];}
    Π°ΠΊΠΎ (isset($data_req['nlu']))
    {
      $data_nlu = $data_req['nlu'];
      Π°ΠΊΠΎ (isset($data_nlu['tokens'])) {$tokens = $data_nlu['tokens'];}
//      $data_token_count = count($data_tokens);
    }
  }
  Π°ΠΊΠΎ (isset($data['session']))
  {
    $data_session = $data['session'];
    Π°ΠΊΠΎ (isset($data_session['new'])) {$data_msg_new = $data_session['new'];}
    Π°ΠΊΠΎ (isset($data_session['message_id'])) {$data_msg_id = $data_session['message_id'];}
    Π°ΠΊΠΎ (isset($data_session['session_id'])) {$data_msg_sess_id = $data_session['session_id'];}
    Π°ΠΊΠΎ (isset($data_session['skill_id'])) {$skill_id = $data_session['skill_id'];}
    Π°ΠΊΠΎ (isset($data_session['user_id'])) {$user_id = $data_session['user_id'];}
  }
}

Π’ΡƒΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ са ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ:

$tokens β€” Ρ‚ΡƒΠΊ сСга са всички Π΄ΡƒΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ потрСбитСлят Π΅ въвСл

$user_id β€” Ρ‚ΡƒΠΊ Π΅ id Π½Π° потрСбитСля

ЯндСкс постоянно ΠΏΠΈΠ½Π³Π²Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈΡ‚Π΅ умСния, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ… Ρ€Π΅Π΄, Π·Π° Π΄Π° ΠΈΠ·Π»ΠΈΠ·Π°ΠΌ Π²Π΅Π΄Π½Π°Π³Π° ΠΎΡ‚ скрипта, Π±Π΅Π· Π΄Π° стартирам ΠΏΡŠΠ»Π½Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Ρ‚ΠΎ:

  Π°ΠΊΠΎ (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;

  //////////// Π“Π•ΠΠ•Π Π˜Π ΠΠ™ БАЗА ЗА Π˜Π—Π₯ΠžΠ” ////////////
    $Data_Out = new Alice_Data_Out();
    $Data_Out->response = new Alice_Response();
    $Data_Out->session = new Alice_Session();
  //////////// Π“Π•ΠΠ•Π Π˜Π ΠΠ™ БАЗА ЗА Π˜Π—Π₯ΠžΠ” ΠšΠ ΠΠ™ ////////////

  //////////// Π˜Π—Π₯ΠžΠ”ΠΠž Π‘ΠͺΠžΠ‘Π©Π•ΠΠ˜Π• Π“Π•ΠΠ•Π ΠΠ¦Π˜Π― ////////////
  $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;

  Π°ΠΊΠΎ (strlen($out_tts) 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 = "";
  // Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½Π΅Ρ‰ΠΎ с Ρ‚ΠΎΠΊΠ΅Π½ΠΈΡ‚Π΅ //\n  $out =  "Π’Π°ΡˆΠΈΡ‚Π΅ Π΅Π½Ρ‚Π΅Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ " . count($tokens) . " Π΄ΡƒΠΌΠΈ: " . implode($tokens, " ");
  return $out;
}

Ако Π²ΠΈ Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ‰ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ с потрСбитСля Π΄Π° бъдС ΠΏΠΎ-слоТно ΠΎΡ‚ Π²ΡŠΠΏΡ€ΠΎΡ-ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€, Ρ‰Π΅ трябва Π΄Π° сС Π·Π°ΠΏΠ°Π·ΠΈ Π² Π±Π°Π·Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ mysql) $user_id Π½Π° потрСбитСля ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° сС Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π² функцията Parse_Tokens.

БобствСно Ρ‚ΠΎΠ²Π° Π΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всичко, Π°ΠΊΠΎ всичко Π΅ Π½Π°ΠΏΡ€Π°Π²Π΅Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, Π±ΠΎΡ‚ΡŠΡ‚ Π² Telegram Π²Π΅Ρ‡Π΅ Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½, ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Алиса ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ dialogs.yandex.ru/developer, ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π΅Ρ‚Π΅ към Π½ΠΎΠ²ΠΎΡ‚ΠΎ си ΡƒΠΌΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π° Π·Π° тСстванС.

ЯндСкс.Алиса ΠΈ Telegram Π±ΠΎΡ‚ Π½Π° PHP с Π΅Π΄ΠΈΠ½Π΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Ако всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ ΡƒΠΌΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° модСрация, ΠΊΠ°Ρ‚ΠΎ натиснСтС Π±ΡƒΡ‚ΠΎΠ½Π° "На модСрация".

Π‘Π΅Π³Π° ΠΈΠΌΠ°Ρ‚Π΅ Π΄Π²Π° Π±ΠΎΡ‚Π° Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ работят ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ΠΈ Π½Π°Ρ‡ΠΈΠ½.

ДокумСнтация Π·Π° услугата ЯндСкс.Π”ΠΈΠ°Π»ΠΎΠ·ΠΈ Ρ‚ΡƒΠΊ

ΠŸΡŠΠ»Π½ΠΈΡ‚Π΅ скриптовС са ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΈ Π² github Π΄Π° сС ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster