ΠΠΎΠ±ΡΡ Π΄Π΅Π½.
ΠΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ Telegram-Π±ΠΎΡΠΎΠ²Π΅ΡΠ΅, Π½ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ ΠΏΠΈΡΠ΅ Π·Π° ΡΠΌΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΠ»ΠΈΡΠ°, Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ Π΅Π΄ΠΈΠ½Π΅Π½ Π±ΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ Π½Π°ΠΌΠ΅ΡΠΈΡ
, Π·Π°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ
Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΠΈΡΠ° ΡΠΈ Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΡΠΎΡΡ Telegram-Π±ΠΎΡ ΠΈ ΡΠΌΠ΅Π½ΠΈΠ΅ Π·Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ° Π·Π° ΡΠ°ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ.
Π ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΡΠ΅Π± ΡΡΡΠ²ΡΡ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ssl-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½ΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠΎ ΡΠΎΠ·ΠΈ Π²ΡΠΏΡΠΎΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Telegram-Π±ΠΎΡ
ΠΡΡΠ²ΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Telegram-Π±ΠΎΡ, Π·Π° ΡΠ΅Π»ΡΠ° ΠΎΡΠΈΠ²Π°ΠΌΠ΅ Π² Telegram ΠΈ Π½Π°ΠΌΠΈΡΠ°ΠΌΠ΅ Π±ΠΎΡΠ° BotFather.


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

ΠΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π±ΠΎΡΠ°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠΎΠΉ ΡΠ΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠ»Π΅ Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π±ΠΎΡΠ°, Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠΎΠΊΠ΅Π½ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π±ΠΎΡΠ°, Π·Π°ΠΏΠΎΠΌΠ½ΡΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΊΠ»ΡΡ, ΡΠΎΠΉ Π½ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.

Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΡΠΏΠΊΠ° Π΅ Π΄Π° ΡΠ²Π΅Π΄ΠΎΠΌΠΈΠΌ ΡΡΡΠ²ΡΡΠΈΡΠ΅ Π½Π° Telegram, Π½Π° ΠΊΠΎΠΉ ΡΡΡΠ²ΡΡ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ Π±ΠΎΡΠ°. ΠΠ° ΡΠ΅Π»ΡΠ° ΠΏΡΠ°Π²ΠΈΠΌ Π»ΠΈΠ½ΠΊ ΠΎΡ Π²ΠΈΠ΄Π°:
https://api.telegram.org/bot___Π’ΠΠΠΠ___/setWebhook?url=https://____ΠΠ£Π’Π¬_ΠΠ_Π‘ΠΠ ΠΠΠ’Π___
___Π’ΠΠΠΠ___ Π·Π°ΠΌΠ΅Π½ΡΠΌΠ΅ Ρ Π½Π°ΡΠΈΡ ΡΠΎΠΊΠ΅Π½ ΠΎΡ Π±ΠΎΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΏΠΎ-ΡΠ°Π½ΠΎ
____ΠΠ£Π’Π¬_ΠΠ_Π‘ΠΠ ΠΠΠ’Π___ Π·Π°ΠΌΠ΅Π½ΡΠΌΠ΅ Ρ Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΠΊΡΠΈΠΏΡΠ° Π½Π° Π½Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, www.my_server.ru/webhook_telegram.php).
Π’ΡΠΊ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΡΡΠ²ΡΡΡΡ api.telegram.org Π΅ ΠΏΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠ°ΠΊΠ°: Π½Π°Π΅ΠΌΠ΅ΡΠ΅ Π½Π°ΠΉ-Π΅Π²ΡΠΈΠ½ΠΈΡ ΡΡΡΠ²ΡΡ ΡΠ°ΠΌ, ΠΊΡΠ΄Π΅ΡΠΎ Π½ΡΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π΄Π°ΠΉΡΠ΅ ΠΎΡ ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΡΡΡΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°
wget ___ΠΠΠΠ£Π§ΠΠΠ¨Π_ΠΠΠ ΠΠ‘___
ΠΡΠΈΡΠΊΠΎ, Telegram-Π±ΠΎΡΡΡ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΈ ΡΠ²ΡΡΠ·Π°Π½ Ρ Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ.
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΌΠ΅Π½ΠΈΠ΅ Π·Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ°
ΠΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠΌΠ΅Π½ΠΈΠ΅ Π·Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ°.
ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠΌΠ΅Π½ΠΈΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΠ°Π»ΠΎΠ·ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΠ°Π»ΠΎΠ·ΠΈ, ΡΠ°ΠΌ Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ βΠ‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³β ΠΈ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ βΠ£ΠΌΠ΅Π½ΠΈΠ΅ Π² ΠΠ»ΠΈΡΠ°β.

Π©Π΅ ΡΠ΅ ΠΎΡΠ²ΠΎΡΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠΌΠ΅Π½ΠΈΠ΅ΡΠΎ.

ΠΠ°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ Π΄Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠΌΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Π²Π°ΡΠ΅ΡΠΎ ΡΠΌΠ΅Π½ΠΈΠ΅.

ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΎΡΠΎ ΠΈΠΌΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π±ΠΈΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΠ»ΠΈΡΠ° Π΄Π° Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΎΡ Π½ΡΠ°Π½ΡΠΈΡΠ΅ - ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΠ»ΠΈΡΠ°ΡΠ° ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈΡΠ΅ ΠΎΡ ΡΠΈΠΏΠ° Π―Π½Π΄Π΅ΠΊΡ.Π‘ΡΠ°Π½ΡΠΈΡ ΠΈΠ»ΠΈ Irbis A ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π΄ΡΠΌΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ.
ΠΡΠ²Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΡΡΡ Π΄ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° Π½Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΊΠ°ΠΊΡΠΎ Π·Π° Telegram, Π½ΠΎ ΡΠΎΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΊΡΠΈΠΏΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π° ΠΠ»ΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ www.my_server.ru/webhook_alice.php.

ΠΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Π³Π»Π°ΡΠ°, Ρ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈ ΡΠΌΠ΅Π½ΠΈΠ΅ΡΠΎ, Π½Π° ΠΌΠ΅Π½ ΠΌΠΈ Ρ Π°ΡΠ΅ΡΠ²Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π³Π»Π°ΡΡΡ Π½Π° ΠΠ»ΠΈΡΠ°.

ΠΠΊΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΡΠ°Π±ΠΎΡΠ° ΡΠ°ΠΌΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠ»ΠΈ Π² Π±ΡΠ°ΡΠ·ΡΡ, ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ βΠΡΠΆΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ Π΅ΠΊΡΠ°Π½β.
Π‘Π»Π΅Π΄Π²Π° Π΄Π° Π²ΡΠ²Π΅Π΄Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π° ΡΠΌΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΠ»ΠΈΡa. ΠΠΊΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π΄ΡΠΌΠ°ΡΠ° β Π±ΡΠ°Π½Π΄, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ° Π½Π° Π±ΡΠ°Π½Π΄Π° Π² ΡΠ΅ΡΠ²ΠΈΠ·Π° webmaster.yandex.ru.

Π‘ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΊΡΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅.
Π‘ΠΊΡΠΈΠΏΡ Π·Π° 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, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ Π½ΠΎΠ²ΠΎΡΠΎ ΡΠΈ ΡΠΌΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π° Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅.

ΠΠΊΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ ΡΠΌΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ, ΠΊΠ°ΡΠΎ Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ Π±ΡΡΠΎΠ½Π° "ΠΠ° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ".
Π‘Π΅Π³Π° ΠΈΠΌΠ°ΡΠ΅ Π΄Π²Π° Π±ΠΎΡΠ° Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡΠΈ Π½Π°ΡΠΈΠ½.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΠ°Π»ΠΎΠ·ΠΈ ΡΡΠΊ
ΠΡΠ»Π½ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ Π² github Π΄Π° ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
