Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบ”เบตเบ•เบญเบ™เบšเปˆเบฒเบ.

เบกเบตเบซเบผเบฒเบเบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡ Telegram bots, เปเบ•เปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบ—เบตเปˆเบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเบ—เบฑเบเบชเบฐเบชเปเบฒเบฅเบฑเบš Alice, เปเบฅเบฐเบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เบŠเบญเบเบซเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบชเป‰เบฒเบ‡ bot เบ”เบฝเบง, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบˆเบถเปˆเบ‡เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบชเป‰เบฒเบ‡ bots. Telegram bot เบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเบ—เบฑเบเบชเบฐ Yandex.Alice เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบšเปเปˆเบšเบญเบเบ—เปˆเบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบเบปเบเบชเบนเบ‡เบšเบปเบ”เบšเบฒเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ ssl, เบžเบฝเบ‡เบžเปเป„เบ”เป‰เบ–เบทเบเบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™.

เบเบฒเบ™เบชเป‰เบฒเบ‡ Telegram bot

เบ—เปเบฒเบญเบดเบ”, เปƒเบซเป‰เบชเป‰เบฒเบ‡ Telegram bot, เบชเปเบฒเบฅเบฑเบšเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ› Telegram เปเบฅเบฐเบŠเบญเบเบซเบฒ BotFather bot เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เป€เบฅเบทเบญเบ /newbot

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบžเบงเบเป€เบฎเบปเบฒเปƒเบชเปˆเบŠเบทเปˆเบ‚เบญเบ‡ bot เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเปƒเบชเปˆเบŠเบทเปˆเบ‚เบญเบ‡ bot, เปƒเบ™เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบš token เป€เบžเบทเปˆเบญเบ„เบงเบšเบ„เบธเบก bot, เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ™เบตเป‰, เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ•เปเปˆเป„เบ›เปเบกเปˆเบ™เบเบฒเบ™เบšเบญเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ Telegram เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ”เบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบ bot เป„เบ›. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เปเบšเบšเบŸเบญเบก:

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

___TOKEN___ เบžเบงเบเป€เบฎเบปเบฒเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบ token เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฒเบ bot, เป„เบ”เป‰เบฎเบฑเบšเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบฑเป‰เบ™

____PATH_TO_SCRIPT____ เบžเบงเบเป€เบฎเบปเบฒเปเบ—เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบšเบขเบนเปˆเปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™เบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, www.my_server.ru/webhook_telegram.php).

เบกเบตเบšเบฑเบ™เบซเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ api.telegram.org เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡, เปเบ•เปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰: เป€เบŠเบปเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบฅเบฒเบ„เบฒเบ–เบทเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบšเปเปˆเบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เปเบฅเบฐเปƒเบซเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบ console เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ™เบตเป‰.

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

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, Telegram bot เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบเบฒเบ™เบชเป‰เบฒเบ‡เบ—เบฑเบเบชเบฐเบชเปเบฒเบฅเบฑเบš Yandex.Alisa

เปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบเบฒเบ™เบชเป‰เบฒเบ‡เบ—เบฑเบเบชเบฐเบชเปเบฒเบฅเบฑเบš Yandex.Alice.

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบ—เบฑเบเบชเบฐ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ›เบซเบฒเบซเบ™เป‰เบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Yandex.Dialogues เบซเบ™เป‰เบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Yandex.Dialogs, เปƒเบซเป‰เบ„เบฅเบดเบเปƒเบชเปˆ "เบชเป‰เบฒเบ‡เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒ" เปเบฅเบฐเป€เบฅเบทเบญเบ "เบ—เบฑเบเบชเบฐเปƒเบ™ Alice".

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบเปˆเบญเบ‡เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบฑเบเบชเบฐเบˆเบฐเป€เบ›เบตเบ”.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบฑเบเบชเบฐ.

เปƒเบชเปˆเบŠเบทเปˆเบ—เบฑเบเบชเบฐเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบŠเบทเปˆเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบ„เบงเบ™เบˆเบฐเบ–เบทเบเป€เบฅเบทเบญเบเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰ Alice เป€เบ‚เบปเป‰เบฒเปƒเบˆเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบˆเบฒเบ nuances - เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบกเบทเบ–เบทเบ—เบตเปˆเบกเบต Alice เปเบฅเบฐเบ„เปเบฅเปเบฒเป€เบŠเบฑเปˆเบ™ Yandex.Station เบซเบผเบท Irbis A เบชเบฒเบกเบฒเบ”เบฎเบฑเบšเบฎเบนเป‰เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒ script เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เปเบšเบšเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Telegram, เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™ script เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบš Alice, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡. www.my_server.ru/webhook_alice.php.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบเบชเบฝเบ‡เบ—เบตเปˆเบ—เบฑเบเบชเบฐเบˆเบฐเป€เบงเบปเป‰เบฒ, เบ‚เป‰เบญเบเบกเบฑเบเบชเบฝเบ‡เบ‚เบญเบ‡ Alice เบซเบผเบฒเบเบเบงเปˆเบฒ.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบกเบทเบ–เบทเบซเบผเบทเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบฅเบทเบญเบ "เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบˆเป."

เบ•เปเปˆเป„เบ›, เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบฅเบฒเบเบเบฒเบ™เบ—เบฑเบเบชเบฐเบ‚เบญเบ‡ Alice. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบ„เปเบฒเบงเปˆเบฒ "เบเบตเปˆเบซเปเป‰" เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเบงเบ”เบชเบญเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ‚เบญเบ‡เปเบšเปƒเบ™เบšเปเบฅเบดเบเบฒเบ™ webmaster.yandex.ru.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ, เปƒเบซเป‰เป€เบฎเบปเบฒเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบชเบฐเบ„เบดเบš.

Telegram bot script

เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ script เบชเปเบฒเบฅเบฑเบš Telegram.

เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฒเบ bot เปเบฅเบฐ Alice เบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™:

include_once 'webhook_parse.php';

เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ” token เบ‚เบญเบ‡ bot เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

$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 - user id เบ—เบตเปˆเบ™เบตเป‰

$msg_chat_id - เบชเบปเบ™เบ—เบฐเบ™เบฒเบ—เบตเปˆ bot เป„เบ”เป‰เบฎเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡

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

script เบ—เบฑเบเบชเบฐเบชเปเบฒเบฅเบฑเบš Yandex.Alisa

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบเป‰เบฒเบงเป„เบ›เบชเบนเปˆ script เบชเปเบฒเบฅเบฑเบš Alice, เบกเบฑเบ™เป€เบเบทเบญเบšเบ„เบทเบเบฑเบ™เบเบฑเบš Telegram.

เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบšเปˆเบญเบ™เบ—เบตเปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฒเบ bot เปเบฅเบฐ Alice เบˆเบฐเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡, เบšเบงเบเบเบฑเบšเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบ—เบตเปˆเบกเบตเบซเป‰เบญเบ‡เบฎเบฝเบ™เบชเปเบฒเบฅเบฑเบš Alice:

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 - user id เบ—เบตเปˆเบ™เบตเป‰

Yandex เป€เบญเบปเบฒเบ—เบฑเบเบชเบฐเบเบฒเบ™เบžเบดเบกเป€เบœเบตเบเปเบœเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เปเบฅเบฐเบ‚เป‰เบญเบเป„เบ”เป‰เป€เบžเบตเปˆเบกเบชเบฒเบเป€เบžเบทเปˆเบญเบญเบญเบเบˆเบฒเบเบชเบฐเบ„เบดเบšเบ—เบฑเบ™เบ—เบตเป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ:

  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();
}

เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบš Aliceโ€‹.

เบชเบฐเบ„เบฃเบดเบšเบ›เบฐเบกเบงเบ™เบœเบปเบ™ 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.

เบ•เบปเบงเบˆเบดเบ‡เปเบฅเป‰เบง, เบ™เบตเป‰เปเบกเปˆเบ™เป€เบเบทเบญเบšเบ—เบธเบเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ–เบทเบเป€เบฎเบฑเบ”เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, Telegram bot เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปเบฅเป‰เบง, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ Alice เบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเป„เบ”เป‰ dialogs.yandex.ru/developerเป‚เบ”เบเบเบฒเบ™เป„เบ›เบ—เบตเปˆเบ—เบฑเบเบชเบฐเปƒเปเปˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปƒเบ™เปเบ–เบšเบ—เบปเบ”เบชเบญเบš.

Yandex.Alisa เปเบฅเบฐ Telegram bot เปƒเบ™ PHP เบ—เบตเปˆเบกเบตเบซเบ™เป‰เบฒเบ—เบตเปˆเบ”เบฝเบงเบเบฑเบ™

เบ–เป‰เบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ—เบฑเบเบชเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฒเบ™เบเบฒเบ‡เป‚เบ”เบเบเบฒเบ™เบ„เบฅเบดเบเปƒเบชเปˆเบ›เบธเปˆเบก "เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฒเบ™เบเบฒเบ‡".

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบกเบตเบชเบญเบ‡ bots เบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบง, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เปเบšเบšเบ”เบฝเบงเบเบฑเบ™.

เป€เบญเบเบฐเบชเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ Yandex.Dialogues เบ—เบตเปˆเบ™เบตเป‰

เบชเบฐเบ„เบฃเบดเบšเป€เบ•เบฑเบกเบ—เบตเปˆเบฅเบปเบ‡เปƒเบ™ github ัะบะฐั‡ะฐั‚ัŒ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™