Yandex.Alisa рд░ Telegram bot PHP рдорд╛ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдВрдЧ

рд╢реБрдн рджреЛрд╣реЛрд░реЛред

рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмрдЯрд╣рд░реВрдХреЛ рд╡рд┐рд╖рдпрдорд╛ рдзреЗрд░реИ рд▓реЗрдЦрд╣рд░реВ рдЫрдиреН, рддрд░ рдереЛрд░реИ рд╡реНрдпрдХреНрддрд┐рд╣рд░реВрд▓реЗ рдПрд▓рд┐рд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕реАрдкрд╣рд░реВ рд▓реЗрдЦреНрдЫрдиреН, рд░ рдореИрд▓реЗ рдПрдХрд▓ рдмреЛрдЯ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдХреБрдиреИ рдЬрд╛рдирдХрд╛рд░реА рдлреЗрд▓рд╛ рдкрд╛рд░реЗрди, рддреНрдпрд╕реИрд▓реЗ рдореИрд▓реЗ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдореЗрд░реЛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред рд╕рд╛рдзрд╛рд░рдг рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмреЛрдЯ рд░ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рднрдПрдХреЛ рд╕рд╛рдЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ Yandex.Alice рдХреМрд╢рд▓ред

рддреНрдпрд╕реЛрднрдП, рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡реЗрдм рд╕рд░реНрднрд░ рдХрд╕рд░реА рдЙрдард╛рдЙрдиреЗ рд░ ssl рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдмрддрд╛рдЙрдБрджрд┐рди, рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрд░реНрдпрд╛рдкреНрдд рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред

рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдмреЛрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

рдкрд╣рд┐рд▓реЗ, рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдмрдЯ рдмрдирд╛рдФрдВ, рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдордорд╛ рдЬрд╛рдиреНрдЫреМрдВ рд░ рддреНрдпрд╣рд╛рдБ рдмрдЯрдлрд╛рджрд░ рдмреЛрдЯ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдЫреМрдВред

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.Alisa рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдХреМрд╢рд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ

Yandex.Alice рдХреЛ рд▓рд╛рдЧрд┐ рд╕реАрдк рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдЧрд╛рдбрд┐ рдмрдвреМрдВред

рдХреМрд╢рд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди, рддрдкрд╛рдЗрдБ Yandex.Dialogues рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдкреГрд╖реНрдардорд╛ рдЬрд╛рдиреБ рдкрд░реНрдЫ Yandex.Dialogs рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рдкреГрд╖реНрда, рддреНрдпрд╣рд╛рдБ "Create dialogue" рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ "Skill in Alice" рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

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 рдорд╛ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕рдВрдЧ

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдХреЗрд╡рд▓ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рд╡рд╛ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ "рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реНрдХреНрд░рд┐рди рднрдПрдХреЛ рдЙрдкрдХрд░рдг рдЪрд╛рд╣рд┐рдиреНрдЫ" рдЪрдпрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдЕрд░реНрдХреЛ, рдПрд▓рд┐рд╕рдХреЛ рдХреМрд╢рд▓ рд╕реВрдЪреАрдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рдХреНрд░рд┐рдпрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ "рдмреНрд░рд╛рдиреНрдб" рд╢рдмреНрдж рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛рдЙрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ webmaster.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);
}

рдЕрдм рддрдкрд╛рдИрдВ рдЪрд░ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

$tokens - рдпрд╣рд╛рдБ рдЕрдм рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реЗрдХрд╛ рд╕рдмреИ рд╢рдмреНрджрд╣рд░реВ рдЫрдиреН

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

рдпрд╣рд╛рдБ рдХреЗрд╣рд┐ рдХрдо рдЪрд░рд╣рд░реВ рдЫрдиреН:

$tokens - рдпрд╣рд╛рдБ рдЕрдм рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реЗрдХрд╛ рд╕рдмреИ рд╢рдмреНрджрд╣рд░реВ рдЫрдиреН

$user_id - рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдпрд╣рд╛рдБ рдЫ

Yandex рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реАрдкрд╣рд░реВ рдкрд┐рдВрдЧ рдЧрд░реНрджрдЫ, рд░ рдореИрд▓реЗ рдкреВрд░реНрдг рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╢реЛрдзрди рд╕реБрд░реБ рдирдЧрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯрдмрд╛рдЯ рддреБрд░реБрдиреНрддреИ рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрди рд▓рд╛рдЗрди рдердкреЗ:

  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.Dialogues рд╕реЗрд╡рд╛рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╛рдЧрдЬрд╛рдд рдпрд╣рд╛рдБ

рдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ github рдорд╛ рдкреЛрд╕реНрдЯ рдЧрд░рд┐рдпреЛ ╤Б╨║╨░╤З╨░╤В╤М.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди