Telegram-Π±ΠΎΡ Π½Π° serverless-ΡΡΠ΅ΠΊΠ΅ Yandex Cloud, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ YandexGPT ΠΏΡΠΈ ΠΎΡΠ²Π΅ΡΠ΅ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ ΠΏΡΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ python-telegram-bot Π½Π° Python. ΠΠ°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΠΎΡΠ° Π½Π΅ ΠΏΠΎΠΌΠ½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΠΎΠΏΡΠΎΡΠ°.
ΠΠ°Π²ΡΠΊΠΈ Telegram-Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
Π ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄ΡΡ:
- ΠΠ»Π°ΡΠ° Π·Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ (ΡΠΌ. ΡΠ°ΡΠΈΡΡ Yandex Cloud Functions).
- ΠΠ»Π°ΡΠ° Π·Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ API-ΡΠ»ΡΠ·Ρ ΠΈ ΠΈΡΡ ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ (ΡΠΌ. ΡΠ°ΡΠΈΡΡ Yandex API Gateway).
- ΠΠ»Π°ΡΠ° Π·Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ (ΡΠΌ. ΡΠ°ΡΠΈΡΡ Yandex Message Queue).
- ΠΠ»Π°ΡΠ° Π·Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΠΎΡ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² (ΡΠΌ. ΡΠ°ΡΠΈΡΡ Yandex Lockbox).
- ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ° Π² Telegram ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½:
1.1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π±ΠΎΡΠ° BotFather ΠΈ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Π΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /newbot
1.2. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Serverless Echo Telegram Bot. ΠΡΠΎ ΠΈΠΌΡ Π±ΡΠ΄ΡΡ Π²ΠΈΠ΄Π΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Ρ Π±ΠΎΡΠΎΠΌ.
1.3. Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π±ΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ServerlessHelloTelegramBot. ΠΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΉΡΠΈ Π±ΠΎΡΠ° Π² Telegram. ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ Π½Π° ...Bot ΠΈΠ»ΠΈ ..._bot.
ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΊΠ΅Π½ Telegram-Π±ΠΎΡΠ°.
-
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ Yandex Lockbox. ΠΡΠΆΠ΅Π½ ΡΠ΅ΠΊΡΠ΅Ρ Π΄Π»Ρ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ-Π±ΠΎΡΠ° ΠΈ ΡΠ΅ΠΊΡΠ΅Ρ Π΄Π»Ρ YandexGPT. Π ΠΏΠΎΠ»Π΅ ΠΠ»ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ° Π΄Π»Ρ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ-Π±ΠΎΡΠ° ΡΠΊΠ°ΠΆΠΈΡΠ΅
TG_TOKEN
, Π² ΠΏΠΎΠ»Π΅ ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ β ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Telegram-Π±ΠΎΡΠ°. Π ΡΠ΅ΠΊΡΠ΅ΡΠ΅ Π΄Π»Ρ YandexGPT Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π²Π΅ΡΡΠΈ Π΄Π²Π° ΠΠ»ΡΡΠ° ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:YAGPT_FOLDER_ID
ΠΈYAGPT_API_KEY
. -
Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
-
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡ Cloud Apps.
-
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ»Π΅Π²Π° Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ°Π³Π°Π·ΠΈΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
-
ΠΡΠ±Π΅ΡΠΈΡΠ΅ Demo Telegram Bot ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
-
Π£ΠΊΠ°ΠΆΠΈΡΠ΅:
- ΠΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- (ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ) ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ Ρ ΡΠΎΠ»ΡΡ admin Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΠ»ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π½ΡΠΆΠ½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΡΠΎΠ·Π΄Π°Π»ΡΡ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΊΡΠ΅ΡΠ° Yandex Lockbox, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅.
-
ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡΠ΅ΡΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ.
-
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΠ±Π·ΠΎΡ, Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Π Π΅ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ API-ΡΠ»ΡΠ·, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½.
-
Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ Telegram-Π±ΠΎΡΠΎΠΌ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ. ΠΠΌΠ΅ΡΡΠΎ <ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°> ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΎΠΊΠ΅Π½ Telegram-Π±ΠΎΡΠ°, Π²ΠΌΠ΅ΡΡΠΎ <Π΄ΠΎΠΌΠ΅Π½ API-ΡΠ»ΡΠ·Π°> β ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ API-ΡΠ»ΡΠ·Π°.
- ΠΠ»Ρ Linux/macOS
curl \
--request POST \
--url https://api.telegram.org/bot<ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°>/setWebhook?url=https://<ΠΠΎΠΌΠ΅Π½ API-ΡΠ»ΡΠ·Π°>/echo
- ΠΠ»Ρ Windows (cmd)
curl ^
--request POST ^
--url "https://api.telegram.org/bot<ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°>/setWebhook?url=https://<ΠΠΎΠΌΠ΅Π½ API-ΡΠ»ΡΠ·Π°>/echo"
- ΠΠ»Ρ Windows (Powershell)
curl.exe `
--request POST `
--url https://api.telegram.org/bot<ΡΠΎΠΊΠ΅Π½ Π±ΠΎΡΠ°>/setWebhook?url=https://<ΠΠΎΠΌΠ΅Π½ API-ΡΠ»ΡΠ·Π°>/echo
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
{"ok":true,"result":true,"description":"Webhook was set"}
- ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ Π±ΠΎΡΡ Π² Telegram.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Yandex Cloud Functions ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Yandex API Gateway ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Yandex Message Queue ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Yandex Lockbox Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π‘Π»ΡΠΆΠ±Π° ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Yandex Cloud ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ 24 ΡΠ°ΡΠ° Π² ΡΡΡΠΊΠΈ, 7 Π΄Π½Π΅ΠΉ Π² Π½Π΅Π΄Π΅Π»Ρ. ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²ΠΈΠ΄Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΡΠΎΠΊ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π°. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°ΡΠ½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ.
Π’ΠΈΠΏ ΡΠ΅ΡΡΡΡΠ° ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π‘Π΅ΡΠ²ΠΈΡΠ½ΡΠ΅ Π°ΠΊΠΊΠ°ΡΠ½ΡΡ 4 Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° 1 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° 7 Message Queue 1 ΠΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ 1 Π’ΡΠΈΠ³Π³Π΅Ρ 1 API-ΡΠ»ΡΠ· 1