ΠΠΎΠ±ΡΡΠΉ Π΄Π΅Π½Ρ.
ΠΠ° ΡΠ΅ΠΌΡ Telegram-Π±ΠΎΡΠΎΠ² ΡΡΠ°ΡΠ΅ΠΉ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ, Π° Π²ΠΎΡ ΠΏΡΠΎ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ ΠΠ»ΠΈΡΡ ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΏΠΈΡΠ΅Ρ, Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Π±ΠΎΡΠ° Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½Π°ΡΠ΅Π», ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΎΠΏΡΡΠΎΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π±ΠΎΡΠ° Telegram ΠΈ Π½Π°Π²ΡΠΊ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΡΠ°, ΠΈΠΌΠ΅ΡΡΠΈΡ
Π΅Π΄ΠΈΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π».
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ssl-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Ρ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Ρ, ΠΏΡΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Telegram-Π±ΠΎΡΠ°
Π‘Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Telegram-Π±ΠΎΡΠ°, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅ΠΌ Π² Telegram ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΌ Π±ΠΎΡΠ° BotFather.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ /newbot
ΠΠ²ΠΎΠ΄ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΎΡΠ°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ·ΡΠ²Π°ΡΡΡΡ, ΠΏΠΎΡΠΎΠΌ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΡ Π±ΠΎΡΠ°, Π² ΠΎΡΠ²Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΠΊΠ΅Π½ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΎΡΠΎΠΌ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΠΎΡ ΠΊΠ»ΡΡ, ΠΎΠ½ Π½Π°ΠΌ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ Telegram, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π±ΠΎΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΡΠ»ΠΊΡ Π²ΠΈΠ΄Π°:
https: //api.telegram.org/bot___Π’ΠΠΠΠ___/setWebhook?url=https://____ΠΠ£Π’Π¬_ΠΠ_Π‘ΠΠ ΠΠΠ’Π___
___Π’ΠΠΠΠ___ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π° Π½Π°Ρ ΡΠΎΠΊΠ΅Π½ ΠΎΡ Π±ΠΎΡΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅
____ΠΠ£Π’Π¬_ΠΠ_Π‘ΠΠ ΠΠΠ’Π___ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ Π½Π° Π°Π΄ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
Π’ΡΡ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΡΠ΅ΡΠ²Π΅Ρ api.telegram.org Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ: Π°ΡΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ ΡΠ°ΠΌΡΠΉ Π΄Π΅ΡΠ΅Π²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈ Π΄Π°ΡΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ
wget ___ΠΠΠΠ£Π§ΠΠΠ¨ΠΠΠ‘Π―_ΠΠΠ ΠΠ‘___
ΠΡΠ΅, Telegram-Π±ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ ΠΈ ΡΠ²ΡΠ·Π°Π½ Ρ Π²Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°Π²ΡΠΊΠ° Π΄Π»Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ°
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π²ΡΠΊΠ° Π΄Π»Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ°.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π²ΡΠΊΠ° Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΠ°Π»ΠΎΠ³ΠΈ
ΠΡΠΊΡΠΎΠ΅ΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π½Π°Π²ΡΠΊΠ°.
ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π°Π²ΡΠΊΠ°.
ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ Π½Π°Π²ΡΠΊΠ°.
ΠΠΊΡΠΈΠ²Π°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄Π±ΠΈΡΠ°ΡΡ ΠΎΡΠ΅Π½Ρ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΠ»ΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»Π°, ΠΈΠ· Π½ΡΠ°Π½ΡΠΎΠ² β ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΠ»ΠΈΡΠΎΠΉ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠΈΠΏΠ° Π―Π½Π΄Π΅ΠΊΡ.Π‘ΡΠ°Π½ΡΠΈΡ ΠΈΠ»ΠΈ Irbis A ΠΌΠΎΠ³ΡΡ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ»ΠΎΠ²Π° ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ.
ΠΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡΡΡ Π΄ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π½Π° Π½Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Telegram, Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΠΠ»ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π³ΠΎΠ»ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅Ρ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π½Π°Π²ΡΠΊ, ΠΌΠ½Π΅ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π³ΠΎΠ»ΠΎΡ ΠΠ»ΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
ΠΈΠ»ΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ Β«ΠΡΠΆΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠΊΡΠ°Π½ΠΎΠΌΒ».
ΠΠ°Π»Π΅Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π½Π°Π²ΡΠΊΠΎΠ² ΠΠ»ΠΈΡΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠ»ΠΎΠ²ΠΎ β Π±ΡΠ΅Π½Π΄, Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ°ΠΉΡΠ° Π±ΡΠ΅Π½Π΄Π° Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ webmaster.yandex.ru.
Π‘ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π²ΡΠ΅, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠΊΡΠΈΠΏΡΠ°ΠΌ.
Π‘ΠΊΡΠΈΠΏΡ Telegram-Π±ΠΎΡΠ°
ΠΠ°ΡΠ½Π΅ΠΌ ΡΠΎ ΡΠΊΡΠΈΠΏΡΠ° Π΄Π»Ρ Telegram.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π³Π΄Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π±ΠΎΡΠ° ΠΈ ΠΠ»ΠΈΡΡ:
include_once 'webhook_parse.php';
ΠΠ°Π΄Π°Π΅ΠΌ token Π½Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°:
$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);
}
Π‘ΠΊΡΠΈΠΏΡ Π½Π°Π²ΡΠΊΠ° Π΄Π»Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΠ»ΠΈΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΠΠ»ΠΈΡΡ, ΠΎΠ½ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Telegram.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π³Π΄Π΅ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ Π±ΠΎΡΠ° ΠΈ ΠΠ»ΠΈΡΡ, ΠΏΠ»ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΠ»ΠΈΡΡ:
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 ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Π―Π½Π΄Π΅ΠΊΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΏΠΈΠ½Π³ΡΠ΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ, ΠΈ Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ» ΡΡΡΠΎΡΠΊΡ, ΡΡΠΎΠ±Ρ ΡΡΠ°Π·Ρ Π²ΡΡ ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΡΠΊΡΠΈΠΏΡΠ°, Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ:
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;
}
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, ΡΠ΅ΠΌ Π²ΠΎΠΏΡΠΎΡ-ΠΎΡΠ²Π΅Ρ, ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² Π±Π°Π·Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ mysql) $user_id ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Parse_Tokens.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΡΠΎ Telegram-Π±ΠΎΡ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½, Π½Π°Π²ΡΠΊ ΠΠ»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π°Π²ΡΠΊ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ, Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ° ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡΒ».
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ°Π·Ρ Π΄Π²Π° Π±ΠΎΡΠ° Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΠ°Π»ΠΎΠ³ΠΈ
ΠΠΎΠ»Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ Π²ΡΠ»ΠΎΠΆΠ΅Π½Ρ Π½Π° github
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com