Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Telegram-Π±ΠΎΡ‚ Π½Π° Python Π·Π° 30 ΠΌΠΈΠ½ΡƒΡ‚

На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π§Π°ΡΡ‚ΡŒ 1: РСгистрация Π±ΠΎΡ‚Π°

Бамая простая ΠΈ описанная Ρ‡Π°ΡΡ‚ΡŒ. ΠžΡ‡Π΅Π½ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎ: Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΎΡ‚Π° @BotFather, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅ΠΌΡƒ /start, ΠΈΠ»ΠΈ /newbot, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ спросит (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π±ΠΎΡ‚Π° ΠΈ Π΅Π³ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ имя), ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сообщСниС с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ Π±ΠΎΡ‚Π° ΠΈ ссылкой Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Π’ΠΎΠΊΠ΅Π½ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это СдинствСнный ΠΊΠ»ΡŽΡ‡ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΠΎΡ‚Π° ΠΈ взаимодСйствия с Π½ΠΈΠΌ.

Π§Π°ΡΡ‚ΡŒ 2: ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ написанию ΠΊΠΎΠ΄Π°

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅, ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΡ‚Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π½Π° Python’Π΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ описана Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ PyTelegramBotAPI (Telebot). Если Ρƒ вас Π½Π΅ установлСн Python, Ρ‚ΠΎ спСрва Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это: Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Linux Π½ΡƒΠΆΠ½ΠΎ ввСсти

ПослС, Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Linux, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Windows Π²Π²ΠΎΠ΄ΠΈΠΌ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ для написания ΠΊΠΎΠ΄Π°.

Π§Π°ΡΡ‚ΡŒ 3: ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ сообщСния ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β»

НСбольшоС отступлСниС. Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ ΡƒΠΌΠ΅Π΅Ρ‚ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Π±ΠΎΡ‚Ρƒ ΠΎ дСйствиях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ двумя способами: Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запрос сСрвСра (Long Poll), ΠΈ Ρ‡Π΅Ρ€Π΅Π· Webhook, ΠΊΠΎΠ³Π΄Π° сСрвСр Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ° сам присылаСт сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ написал Π±ΠΎΡ‚Ρƒ. Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ явно выглядит Π»ΡƒΡ‡ΡˆΠ΅, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ IP-адрСса, ΠΈ установлСнного SSL Π½Π° сСрвСрС. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ написании Π±ΠΎΡ‚Π°, Π° Π½Π΅ настройкС сСрвСра, поэтому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Long Poll’ΠΎΠΌ.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°ΠΉΡ‚Π΅ ваш Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΠΈ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΡ‚Π°!

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ Π±ΠΎΡ‚Π°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ объявим ΠΌΠ΅Ρ‚ΠΎΠ΄ для получСния тСкстовых сообщСний:

Π’ этом участкС ΠΊΠΎΠ΄Π° ΠΌΡ‹ объявили ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Ρ для тСкстовых сообщСний ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ПолС content_types ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ значСния, ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° тСкстовыС сообщСния, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Π°ΡƒΠ΄ΠΈΠΎ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² наш ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°: Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π°ΠΌ Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β», Ρ‚ΠΎ скаТСм Π΅ΠΌΡƒ Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Ρ‡Π΅ΠΌ я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ?Β», Π° Ссли Π½Π°ΠΌ Π½Π°ΠΏΠΈΡˆΡƒΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Β«/helpΒ», Ρ‚ΠΎ скаТСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β»:

Π”Π°Π½Π½Ρ‹ΠΉ участок ΠΊΠΎΠ΄Π° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² наш ΠΊΠΎΠ΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ строчку (Π²Π½Π΅ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш Π±ΠΎΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ постоянно ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρƒ сСрвСра Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ° «МнС ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ написал?Β», ΠΈ Ссли ΠΌΡ‹ напишСм Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ, Ρ‚ΠΎ Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ пСрСдаст Π΅ΠΌΡƒ нашС сообщСниС. БохраняСм вСсь Ρ„Π°ΠΉΠ», ΠΈ пишСм Π² консоли

Π“Π΄Π΅ bot.py – имя нашСго Ρ„Π°ΠΉΠ»Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΡ‚Ρƒ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. hoooc8j1mwnptnjfde8ll7nqzea. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-hoooc8j1mwnptnjfde8ll7nqzea. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° hoooc8j1mwnptnjfde8ll7nqzea. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π§Π°ΡΡ‚ΡŒ 4: Кнопки ΠΈ Π²Π΅Ρ‚ΠΊΠΈ сообщСний

ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сообщСния это нСсомнСнно вСсСло, Π½ΠΎ Π΅Ρ‰Ρ‘ вСсСлСС вСсти с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³: Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ вопросы ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. Допустим, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наш Π±ΠΎΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π΅Π³ΠΎ имя, Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ возраст. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ register_next_step_handler Π±ΠΎΡ‚Π°:

И Ρ‚Π°ΠΊ, Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΡ‹ записали. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌΡƒ, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ состояния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½ΡƒΠΆΠ½ΠΎ Π² Π‘Π”, Π½ΠΎ ΠΌΡ‹ сСгодня Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π±ΠΎΡ‚ΠΎΠΌ, Π° Π½Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ПослСдний ΡˆΡ‚Ρ€ΠΈΡ… – запросим Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ всС Π²Π²Π΅Π΄Π΅Π½ΠΎ Π²Π΅Ρ€Π½ΠΎ, Π΄Π° Π½Π΅ просто Ρ‚Π°ΠΊ, Π° с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ! Для этого Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ΄ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° get_age

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ наш Π±ΠΎΡ‚ отправляСт ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ, Π½ΠΎ Ссли Π½Π° Π½Π΅Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ написали ΠΌΠ΅Ρ‚ΠΎΠ΄-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм:

ΠžΡΡ‚Π°Ρ‘Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΎΠ΄Π½Ρƒ строку:

Π’ΠΎΡ‚ ΠΈ всё, сохраняСм ΠΈ запускаСм нашСго Π±ΠΎΡ‚Π°:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Telegram-Π±ΠΎΡ‚Ρ‹ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅

Π”ΡƒΠΌΠ°ΡŽ, всСм здСсь Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ извСстСн мСссСндТСр Telegram. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ заявляСт, Ρ‡Ρ‚ΠΎ это самый бСзопасный мСссСндТСр с ΡƒΠ±ΠΎΠΉΠ½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ собствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ нас, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΊΡƒΠ΄Π° сильнСС интСрСсуСт Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π‘ΠΎΡ‚Ρ‹!

Π’Π΅ΠΌΠ° эта, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ Ρ€Π°Π· поднималась Π½Π° Π₯Π°Π±Ρ€Π΅: Π±ΠΎΡ‚ΠΎΠ² писали Π½Π° Python с tornado, Node.js, Ruby со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π³Π΅ΠΌΠΎΠΌ, Ruby on Rails, C#, C# с WCF ΠΈ Π΄Π°ΠΆΠ΅ PHP; Π±ΠΎΡ‚ΠΎΠ² писали для RSS-ΠΊΠ°Π½Π°Π»ΠΎΠ², ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° сайтов, ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ, вСроятно, для ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

И всё ΠΆΠ΅ я Π²ΠΎΠ·ΡŒΠΌΡƒ Π½Π° сСбя ΡΠΌΠ΅Π»ΠΎΡΡ‚ΡŒ ΠΈΠ·ΡŠΠ΅Π·Π΄ΠΈΡ‚ΡŒ эту Ρ‚Π΅ΠΌΡƒ Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΈ Π²Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ этому ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ ΠŸΠΈΡ‚ΠΎΠ½Π°. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ™ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ написания Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π±ΠΎΡ‚ΠΎΠ² Π½Π° основС ΠΏΠ°ΠΊΠ΅Ρ‚Π° python-telegram-bot.

Как Π·Π°Ρ‡Π°Ρ‚ΡŒ Π±ΠΎΡ‚Π°?

На этот вопрос Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация. Выглядит процСсс ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

ΠŸΡ€ΠΎΡΡ‚ΠΎ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? (Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π±Π»Π°Π³ΠΎΡ€Π°Π·ΡƒΠΌΠ½Ρ‹ ΠΈ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΠΉΡ‚Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌΡ‹ Π±Π΅Π· ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹!)

Π‘Π°ΠΌΡ‹ΠΉ простой Π±ΠΎΡ‚

Π‘ΠΏΠ΅Ρ€Π²Π° глянСм Π² Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» нашСго Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, с Ρ‡Π΅Π³ΠΎ начинаСтся ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ Π±ΠΎΡ‚. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄

создаёт Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сухо ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ «ЗдравствуйтС.Β» ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Start (ΠΈΠ»ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /start ) ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ»Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… дСйствиях с вашСй стороны.

(Π—Π° дальнСйшими подробностями с чистой ΡΠΎΠ²Π΅ΡΡ‚ΡŒΡŽ ΠΎΡ‚ΡΡ‹Π»Π°ΡŽ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ python-telegram-bot.)

НагруТСнныС этим тСорСтичСским ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ своСго Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°. Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ вСрнёмся ΠΊ постановкС Π·Π°Π΄Π°Ρ‡ΠΈ. Под Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ Π±ΠΎΡ‚ΠΎΠΌ я ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽ Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π΅Π΄Ρ‘Ρ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкстовый Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ β€” с вопросами, ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ, Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ ΡΡŽΠΆΠ΅Ρ‚ΠΎΠΌ, Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠ½Ρ†ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ всСм Π² Ρ‚Π°ΠΊΠΎΠΌ Π΄ΡƒΡ…Π΅ (ΠΈΠ³Ρ€Π°Π»ΠΈ Π² «БСсконСчноС Π»Π΅Ρ‚ΠΎΒ»?) Напротив, Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² сфСру Π½Π°ΡˆΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… интСрСсов Π±ΠΎΡ‚Ρ‹, Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Telegram (Π²Ρ€ΠΎΠ΄Π΅ Π±ΠΎΡ‚Π° для Π»Π°ΠΉΠΊΠΎΠ²); соотвСтствСнно, ΠΌΡ‹ опустим Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ всяких плюшСк Π²Ρ€ΠΎΠ΄Π΅ ΠΈΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°, ΠΈΠ³Ρ€, обновлСния элСмСнтов управлСния Π½Π° Π»Π΅Ρ‚Ρƒ ΠΈ всСго Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ.

50 ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ² yield

ΠšΡƒΠ΄Π° ΠΌΠ΅Π½Π΅Π΅ извСстными Π½Π°Π²Ρ‹ΠΊΠ°ΠΌΠΈ слова yield ΡΠ²Π»ΡΡŽΡ‚ΡΡ способности… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния ΠΈ Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ! Π”Π°-Π΄Π°, Ссли ΠΌΡ‹ напишСм:

Но ΠΈ это Π΅Ρ‰Ρ‘ Π½Π΅ всё. Начиная с Python 3.3, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡƒΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкции yield from : вмСсто

ΠΎΠ½Π° позволяСт Π½Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ

А Π΅Ρ‰Ρ‘ yield from Ρ‚ΠΎΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: для этого функциям-Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Π° Π½Π΅ просто Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅) return :

К Ρ‡Π΅ΠΌΡƒ я всё это? Ах Π΄Π°. Π­Ρ‚ΠΈ фокусы, вмСстС взятыС, позволят Π½Π°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΈ СстСствСнно ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π°ΡˆΠΈΡ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π±ΠΎΡ‚ΠΎΠ².

ПишСм ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ

Π˜Ρ‚Π°ΠΊ, ΠΏΡƒΡΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ вСдётся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. yield Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Ρ€ΡƒΠΆΡƒ сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π΄ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ (ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ появится). Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΌΠ΅Π΅Ρ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ ΠΆ, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΡΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚Ρ‹Π³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ! Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠŸΠΈΡ‚ΠΎΠ½Π΅.

И это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

ДобавляСм Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ

Π‘ΠΎΡ‚Ρ‹ Π² Telegram ΡΠΈΠ»ΡŒΠ½Ρ‹ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΈΠ΄Π°Ρ‚ΡŒΡΡ Π² своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ HTML- ΠΈ Markdown-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ; эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ стороной Π½Π°ΠΌ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ сообщСниС с Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Bot.sendMessage :

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Для дСмонстрации Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ ask_yes_or_no() :

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

ДобавляСм ΠΊΠ½ΠΎΠΏΠΊΠΈ

ЕдинствСнноС, Ρ‡Π΅Π³ΠΎ Π½Π°ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ сСбС ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ написании Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π±ΠΎΡ‚ΠΎΠ² β€” ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚Π°. Для создания ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π½Π°ΠΌ достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Message.options ΠΊΠ»ΡŽΡ‡ reply_markup ; Π½ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ постараСмся максимально ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наш ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π—Π΄Π΅ΡΡŒ Π½Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΏΡ€ΠΎΡ‰Π΅. ΠŸΡƒΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, yield Π²Ρ‹Π΄Π°Ρ‘Ρ‚ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° сразу нСсколько; Ссли срСди Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ список ΠΈΠ»ΠΈ список списков со строками, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

, Ρ‚ΠΎ ΠΌΡ‹ считаСм, Ρ‡Ρ‚ΠΎ это ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΈ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

_send_answer() Ρ‚ΠΎΠ³Π΄Π° прСобразуСтся Π² Π½Π΅Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅:

Π’ качСствС дСмонстрации помСняСм ask_yes_or_no() ΠΈ discuss_bad_python() :

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΈ использованиС Π΅Π³ΠΎ Π² Π½ΡƒΠΆΠ½Ρ‹Ρ… ситуациях позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ красиво ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, вынСсли вопрос Β«Π΄Π° ΠΈΠ»ΠΈ Π½Π΅Ρ‚Β» Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΡ€ΠΈΡ‚ΠΎΠΌ оставив Π·Π° Π½ΠΈΠΌ ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ вынСсти Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π²ΠΎΠΏΡ€ΠΎΡˆΠ°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ, ΠΈ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΡΡ‚ΡŒ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π²Π΅Ρ€Π½ΠΎ Π»ΠΈ ΠΌΡ‹ Π΅Π³ΠΎ поняли, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сами хранят Π·Π° нас состояниС Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΈ сами ΡƒΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°. Всё для нас!

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ. Как водится, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΎΠ±ΠΎ всСх ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°Ρ…, орфографичСских ΠΈ грамматичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π² Π»ΠΈΡ‡ΠΊΡƒ. Π’Π΅ΡΡŒ ΠΊΠΎΠ΄ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π»Π΅ΠΆΠΈΡ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° Github (Π²Π΅Ρ‚ΠΊΠ° habrahabr-316666 ). На Π±ΠΎΡ‚Π° ссылку Π½Π΅ Π΄Π°ΠΌ ΠΈ ΠΆΠΈΠ²Ρ‹ΠΌ Π΅Π³ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, блиТайшСС врСмя Π½Π΅ Π±ΡƒΠ΄Ρƒ, ΠΈΠ½Π°Ρ‡Π΅ хабраэффСкт Π½Π°ΠΊΡ€ΠΎΠ΅Ρ‚ Π΅Π³ΠΎ вмСстС с ΠΌΠΎΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ. УспСхов Π² создании своих Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π±ΠΎΡ‚ΠΎΠ² 😉

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ хостинг Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚Π°. ΠžΡ‚ А Π΄ΠΎ Π―

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Ρ…Π°Π±Ρ€Ρ‡Π°Π½Π΅! Какой Π±Ρ‹ Π·Π°Π΅Π·ΠΆΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π±Ρ‹Π»Π° Ρ‚Π΅ΠΌΠ° создания Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚Π° Π½Π° python3, я Π½Π΅ Π½Π°ΡˆΡ‘Π» инструкций, Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строчки ΠΊΠΎΠ΄Π° Π΄ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ½Π³Π° Π±ΠΎΡ‚Π° (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ‡Ρ‚ΠΎ я Π²ΠΈΠ΄Π΅Π», Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ устарСли). Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ процСсс создания Π±ΠΎΡ‚Π° ΠΎΡ‚ написания BotFather-Ρƒ Π΄ΠΎ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ½Π³Π° Π±ΠΎΡ‚Π° Π½Π° Heroku.

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π΅ΠΆΠ°Ρ‚ΡŒΡΡ Π³Π»Π°Π·Π°ΠΌΠΈ ΠΏΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅ΠΌΡƒ вас ΠΏΡƒΠ½ΠΊΡ‚Ρƒ.

P.S. ΠŸΠΈΡˆΠΈΡ‚Π΅ Ссли Π½ΡƒΠΆΠ½Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ созданию Π±ΠΎΠ»Π΅Π΅ слоТного Π±ΠΎΡ‚Π°, Ρ‚.Π΅. с Π²Π΅Π±Ρ…ΡƒΠΊΠ°ΠΌΠΈ, Π‘Π” с настройками ΡŽΠ·Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚.Π΄.

BotFather

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нашСго Π±ΠΎΡ‚Π° Π² Telegram. Для этого:

Π’ поискС Π²Π±ΠΈΠ²Π°Π΅ΠΌ @BotFather ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠžΡ‚Ρ†ΠΎΠΌ Π‘ΠΎΡ‚ΠΎΠ².

ПишСм /newbot. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ имя Π±ΠΎΡ‚Π° (Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ отобраТаСтся Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ…). Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ Π»ΠΎΠ³ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ»Π΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ.

P.S. Оно Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Bot/bot

Π’ΠΎΡ‚. Нам Π΄Π°Π»ΠΈ API ΠΊΠ»ΡŽΡ‡ ΠΈ ссылку Π½Π° Π±ΠΎΡ‚Π°. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ API ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ с Π±ΠΎΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π΅ ΠΊΠΎΠΏΠ°Ρ‚ΡŒΡΡ Π² пСрСпискС с BotFather

Π”Π°Π»ΡŒΡˆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅ΠΌΡƒ ΠΏΠ°Ρ€Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄: ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ /setcommands ΠΈ ΠΎΠ΄Π½ΠΈΠΌ сообщСниСм, Ρ‚.ΠΊ. /setcommands Π½Π΅ добавляСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π° Π·Π°Π΄Π°Ρ‘Ρ‚ ΠΈΡ… с нуля, ΠΏΠΎΡˆΠ»Ρ‘ΠΌ Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

На этом Ρ€Π°Π±ΠΎΡ‚Π° с BotFather Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части.

Установка ΠΈ настройка pipenv. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ запуск.

Для Π½Π°Ρ‡Π°Π»Π° создадим Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ основной ΠΊΠΎΠ΄ Π±ΠΎΡ‚Π° bot.py. Если Π±ΠΎΡ‚ большой, Ρ‚ΠΎ сразу создавайтС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΡƒΠ΄Π° Π²Ρ‹ вынСсСтС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы ΠΈ Ρ‚.Π΄, ΠΈΠ½Π°Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° стрСмится ΠΊ Π½ΡƒΠ»ΡŽ. Π― добавлю parser.py

Установим pipenv, Ссли Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚.

Установим pipenv Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Установим ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ нас Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π― Π±ΡƒΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с PyTelegramBotAPI. Π’Π°ΠΊΠΆΠ΅ для парсинга Π΄ΠΎΠ±Π°Π²ΠΈΠΌ BeautifulSoup4.

НачинаСм ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄!

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ bot.py, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ создаём Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

Запустим Π±ΠΎΡ‚Π°. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок.

Если ошибок Π½Π΅ появилось, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.

Π₯эндлСры. ΠžΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ сообщСния

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Π° ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π°ΠΌ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ.

ΠžΡΠ½ΠΎΠ²Ρ‹ взаимодСйствия. ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Для взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ρ‚.Π΅. для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ сообщСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ хэндлСры.

Начнём с самого простого: ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠΌ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /start ΠΈ /go

БСйчас разбСрёмся Ρ‡Ρ‚ΠΎ это ΠΈ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ Π² message_handler ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ commands Ρ€Π°Π²Π½Ρ‹ΠΉ массиву со строками β€” ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ описанным Π½ΠΈΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. (На всС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ). Π”Π°Π»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ send_message, Π² Π½Π΅Π³ΠΎ записываСм id Ρ‡Π°Ρ‚Π° (Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ ΠΈΠ· message.chat.id), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сообщСниС ΠΈ, собствСнно, само сообщСниС. НСльзя Π·Π°Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ bot.polling() Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄Π°, ΠΈΠ½Π°Ρ‡Π΅ Π±ΠΎΡ‚ сразу ΠΆΠ΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΏΠΎΠ·ΠΆΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Π° ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅ΠΌΡƒ /start ΠΈΠ»ΠΈ /go ΠΈ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚.

P.S. Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строкой, Π°, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ρ‡Π΅ΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

Π­Ρ‚ΠΎ json ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, хранящий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅, Ρ‡Π°Ρ‚Π΅, ΠΈ самом сообщСнии.

ΠžΡΠ½ΠΎΠ²Ρ‹ взаимодСйствия. ΠžΡ‚Π²Π΅Ρ‚ Π½Π° тСкстовыС сообщСния.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ тСкстовыС сообщСния Π±ΠΎΡ‚Π°. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ тСкст сообщСния Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² message.text ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ тСкст Π² message_handler Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ content_types=[‘text’].

Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄.

Π’ΡƒΡ‚ ΠΌΡ‹ Π΄ΠΎΠ²Π°Π±ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: вынСсли тСкст сообщСния (Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ‚Π΅ΠΌΠΈ ΠΊΡ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ капсом, Π·Π°Π±ΠΎΡ€Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ‚.Π΄.) Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ text, вынСсли message.chat.id Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ message. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ построили нСбольшоС Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅, для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ сообщСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° случай нСпонятного Π±ΠΎΡ‚Ρƒ сообщСния.

ΠžΡΠ½ΠΎΠ²Ρ‹ взаимодСйствия. ΠžΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π°ΡƒΠ΄ΠΈΠΎ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅.

Для ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, стикСры, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Ρ‚.Π΄. Π½ΡƒΠΆΠ½ΠΎ всСго лишь ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ content_types=[‘text’].

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΎΠΉ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² этот ΠΊΠΎΠ΄.

text, audio, document, photo, sticker, video, video_note, voice, location, contact, new_chat_members, left_chat_member, new_chat_title, new_chat_photo, delete_chat_photo, group_chat_created, supergroup_chat_created, channel_chat_created, migrate_to_chat_id, migrate_from_chat_id, pinned_message

Π‘Ρ‚Ρ€ΠΎΠΈΠΌ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ с элСмСнтарными дСйствиями ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎΠ΅. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ². Для этого Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ register_next_step_handler(). Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ разбСрёмся ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ register_next_step_handler().

И Ρ‚Π°ΠΊ, Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ добавился bot.register_next_step_handler(msg, askAge), Π² Π½Π΅Π³ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ, ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‰Π°Π³, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ послС ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ всё поинтСрСснСй, здСсь ΠΈΠ΄Ρ‘Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²Ρ‘Π» Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ число, ΠΈ, Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ функция рСкурсивно Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сама сСбя, с сообщСниСм «Возраст Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ числом, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΅Ρ‰Ρ‘ Ρ€Π°Π·.Β». Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Ρ‘Π» всё Π²Π΅Ρ€Π½ΠΎ, Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚.

Но, Π΅ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. МоТно ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ /go ΠΈΠ»ΠΈ /start, ΠΈ начнётся Π±Π°Ρ€Π΄Π°ΠΊ.

ΠŸΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ это нСслоТно, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояния выполнСния скрипта.

Π‘ построСниСм простых Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ, ΠΏΠΎΠΉΠ΄Ρ‘ΠΌ дальшС.

ДобавляСм парсСр Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ.

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ΅Π½ сам парсСр. ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ… Β«Π›ΡƒΡ‡ΡˆΠ΅Π΅Β» ΠΈ «Всё подряд» Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹: сутки, нСдСля, мСсяц ΠΈ β‰₯10, β‰₯25, β‰₯50, β‰₯100 соотвСтствСнно.
ΠŸΠ°Ρ€ΡΠ΅Ρ€ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π² 1 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΠΎ я Ρ€Π°Π·ΠΎΠ±ΡŒΡŽ Π½Π° 2, Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

По ΠΈΡ‚ΠΎΠ³Ρƒ парсСр Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ строку с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ статСй, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Π½Π°ΡˆΠΈΡ… запросах.
ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания, Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΡ‚Π° связанного с парсСром. Π― Ρ€Π΅ΡˆΠΈΠ» ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс (это скорСС всСго Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ это ΡƒΠΆΠ΅ относится ΠΊ ΠΏΠΈΡ‚ΠΎΠ½Ρƒ, Π° Π½Π΅ ΠΊ основной Ρ‚Π΅ΠΌΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ), ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ этого класса Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ измСняСмыС Π΄Π°Π½Π½Ρ‹Π΅.

ВСория. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ взаимодСйствия с Π±ΠΎΡ‚ΠΎΠΌ.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ long polling для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ сообщСниях ΠΎΡ‚ Π±ΠΎΡ‚Π°.

Π•ΡΡ‚ΡŒ ΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΡ€Π½Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” Π²Π΅Π±Ρ…ΡƒΠΊΠΈ. Π’Π°ΠΊ Π±ΠΎΡ‚ сам Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ сообщСния ΠΈ Ρ‚.Π΄. Но этот ΠΌΠ΅Ρ‚ΠΎΠ΄ слоТнСС Π² настройкС, ΠΈ, для простого ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° я Ρ€Π΅ΡˆΠΈΠ» Π΅Π³ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π’Π°ΠΊΠΆΠ΅ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ссылки Π½Π° всё, Ρ‡Ρ‚ΠΎ использовалось ΠΈ ΠΎ Ρ‡Ρ‘ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ.

ΠœΠ°Ρ€ΠΊΠ°ΠΏΡ‹. ДобавляСм ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для быстрого ΠΎΡ‚Π²Π΅Ρ‚Π°.

НаконСц основной ΠΊΠΎΠ΄ дописан. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠ°ΠΏΡ‹. Π― Π΄ΡƒΠΌΠ°ΡŽ Π²Ρ‹ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΈΡ…, Π½ΠΎ всё ΠΆΠ΅, ΠΏΡ€ΠΈΠ»ΠΎΠΆΡƒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚. [SCREENSHOT]

Π― Π²Ρ‹Π²Π΅Π΄Ρƒ ΠΌΠ°Ρ€ΠΊΠ°ΠΏΡ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» β€” markups.py.

Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠ°Ρ€ΠΊΠ°ΠΏΠ° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡˆΠΈΡ€ΠΈΠ½Ρƒ строки ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ.

Π£Ρ€Π°! Π‘ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ самоС Π²Π°ΠΆΠ½ΠΎΠ΅ β€” Π΄Π΅ΠΏΠ»ΠΎΠΈΠ½Π³ Π±ΠΎΡ‚Π° Π½Π΅ Ρ…Π΅Ρ€ΠΎΠΊΡƒ.

Π”Π΅ΠΏΠ»ΠΎΠΈΠΌ Π±ΠΎΡ‚Π° Π½Π° Heroku.

Для Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π₯Π΅Ρ€ΠΎΠΊΡƒ ΠΈ Π½Π° Π“ΠΈΡ‚Ρ…Π°Π±Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создаём Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅. (Π½Π°ΠΆΠΌΠΈΡ‚Π΅ плюсик слСва ΠΎΡ‚ вашСго Π°Π²Π°Ρ‚Π°Ρ€Π°)
БСйчас Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Procfile (Procfile.windows для windows). Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π΅Π³ΠΎ ΠΈ записываСм Π² Π½Π΅Π³ΠΎ bot: python3 bot.py

Π’Π΅ΠΏΠ΅Ρ€ΡŒ удаляСм TOKEN ΠΈΠ· bot.py, здСсь ΠΎΠ½ Π½Π΅ Π½ΡƒΠΆΠ΅Π½, вСдь ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±. Π§Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, Ρ‡Ρ‚ΠΎ использовали для запуска Π±ΠΎΡ‚Π°, Π·Π°Π»ΠΈΠ²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±. (ΠŸΡ€Π΅Π΄Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ __pycache__).

Π“ΠΈΡ‚ просит Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, спокойно Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΈ прСступаСм ΠΊ Π΄Π΅ΠΏΠ»ΠΎΠΈΠ½Π³Ρƒ Π±ΠΎΡ‚Π° Π½Π° Ρ…Π΅Ρ€ΠΎΠΊΡƒ. ПишСм всё Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ TOKEN Π² bot.py, здСсь ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, вСдь ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» Π½Π° Ρ…Π΅Ρ€ΠΎΠΊΡƒ.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ!

Π Π°Π±ΠΎΡ‚Π° ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½Π°, Π±ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎ.

Бсылки

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ интСрСсно, Ρ‚ΠΎ Ρ†Π΅Π»ΡŒ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°. Если ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ хочСтся ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΡ€ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТного Π±ΠΎΡ‚Π° (с Π²Π΅Π±Ρ…ΡƒΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π‘Π” с настройками ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ Ρ‚.Π΄.) β€” ΠΏΠΈΡˆΠΈΡ‚Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ПишСм простого Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° для Telegram Π½Π° PHP

Π¨ΡƒΠΊΡŽΡ€ΠΎΠ² Π—Π°ΡƒΡ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ @KinomanBot ΠΈ @GaidarForum_bot, написал руководство ΠΏΠΎ созданию простого Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° Π½Π° PHP.

24 июня 2015 Π³ΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Telegram ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для создания Π±ΠΎΡ‚ΠΎΠ² (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ).

Π—Π° ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π° Π³ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π°Π±Ρ€Π°Π»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсных Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ΠΎΠ², Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… мноТСство ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… с пользой провСсти врСмя Π² мСссСндТСрС.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. 1c54f0445bdf4c9e8b9152d44ba018ea. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-1c54f0445bdf4c9e8b9152d44ba018ea. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1c54f0445bdf4c9e8b9152d44ba018ea. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π¨Π°Π³ 1: рСгистрация Π±ΠΎΡ‚Π° Ρƒ @BotFather

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρƒ Β«ΠΏΠ°ΠΏΡ‹ всСх Π±ΠΎΡ‚ΠΎΠ²Β» β€” @BotFather, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ (ΠΊΠ»ΡŽΡ‡) для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Telegram API.

РСгистрация ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π² 5 простых этапов:

1) ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ‡Π°Ρ‚ с @BotFather;
2) Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ /newbot;
3) ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для Π±ΠΎΡ‚Π°;
4) ΠŸΠΈΡˆΠ΅Ρ‚Π΅ ΡŽΠ·Π΅Ρ€Π½Π΅ΠΉΠΌ Π±ΠΎΡ‚Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· поиск. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ вашСго ΡŽΠ·Π΅Ρ€Π½Π΅ΠΉΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ слово Β«botΒ» ΠΈΠ»ΠΈ Β«_botΒ». НапримСр, NetologyRSSbot;
5) По ТСланию ΠΌΠΎΠΆΠ½ΠΎ сразу Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС, список ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π°Π²Π°Ρ‚Π°Ρ€ΠΊΡƒ.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

По ΠΈΡ‚ΠΎΠ³Ρƒ рСгистрации ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ наш Ρ‚ΠΎΠΊΠ΅Π½ β€” 375466075:AAEARK0r2nXjB67JiB35JCXXhKEyT42Px8s.
Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны: Π½ΠΈΠΊΠΎΠ³Π΄Π° ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½, ΠΈΠ½Π°Ρ‡Π΅ ваш Π±ΠΎΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скомпромСтирован. Если ΠΏΠΎ нСсчастливой случайности ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π΅Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ всС-Ρ‚Π°ΠΊΠΈ ΡƒΠ·Π½Π°Π» ваш Ρ‚ΠΎΠΊΠ΅Π½, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ всё Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ @BotFather, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Revoke current tokenΒ» Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«API TokenΒ».

Π¨Π°Π³ 2: Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Telegram API основан Π½Π° простых HTTP-запросах. БущСствуСт всСго Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способа ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π±ΠΎΡ‚Ρƒ:

1) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Β«Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽΒ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Β«Long PollingΒ»;
2) Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ всё Telegram, поставив Β«WebhookΒ». Π’ этом случаС любой запрос ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Telegram сам Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ Π½Π°ΠΌ Π½Π° сСрвСр.

ΠœΡ‹ остановимся Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, Π½ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅: Ρƒ вас Π½Π° сайтС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн SSL-сСртификат, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС запросы ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· бСзопасный ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HTTPS. БамоподписанныС ΠΈ бСсплатныС сСртификаты Β«Let’s EncryptΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ хостингов, Ρ‚Π°ΠΊΠΆΠ΅ подходят.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки самоподписанного сСртификата ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Telegram.

Шаг 3: пишСм код

ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΡ‚Π° Π±ΡƒΠ΄Π΅ΠΌ Π½Π° PHP, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ колСсо, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ.

ΠžΡ‚ΠΊΡ€Ρ‹Π² Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ эту ссылку, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ JSON-ΠΎΡ‚Π²Π΅Ρ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Β«Webhook was setΒ», Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Π΅Π±Ρ…ΡƒΠΊ установлСн, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всС запросы ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΏΠΎ адрСсу Ρ„Π°ΠΉΠ»Π°-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ самому Π³Π»Π°Π²Π½ΠΎΠΌΡƒ β€” ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ этих самых запросов ΠΈ написанию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π±ΠΎΡ‚Π°.

НиТС прСдставлСн ΠΏΠΎΠ»Π½Ρ‹ΠΉ листинг Ρ„Π°ΠΉΠ»Π°-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°:

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ всё ΠΏΠΎ порядку.

1. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΡΠΊΠ°Ρ‡Π°Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΡƒΠΊΠ°Π·Π°Π² ΠΏΡƒΡ‚ΡŒ (Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ) Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°.

2. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ экзСмпляр класса Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $telegram ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² Π½Π΅Π³ΠΎ наш Ρ‚ΠΎΠΊΠ΅Π½.

Π’ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $result ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сообщСнии, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΡˆΠ»Π΅Ρ‚ Π½Π°ΠΌ Telegram.

3. Π—Π°Ρ‚Π΅ΠΌ опрСдСляСм Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: тСкстовоС сообщСниС, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΅Π³ΠΎ ΡŽΠ·Π΅Ρ€Π½Π΅ΠΉΠΌ. Если прСдстоит Ρ€Π°Π±ΠΎΡ‚Π° с Π‘Π”, Ρ‚ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ (ΠΈΠ»ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ PDO).

4. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π°ΡˆΡƒ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.

5. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ»ΠΈ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ switch-case Π»ΠΈΠ±ΠΎ if-else. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π΅Ρ‚, остановимся Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅, ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ.

Π’ самом Π½Π°Ρ‡Π°Π»Π΅ провСряСм, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π»ΠΈ пСрСмСнная $text ΠΈ являСтся Π»ΠΈ сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ тСкстовым.

Если Π½Π΅Ρ‚, Ρ‚ΠΎ отправляСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sendMessage сообщСниС с ΠΏΡ€ΠΎΡΡŒΠ±ΠΎΠΉ ввСсти тСкстовоС сообщСниС.

6. Рассмотрим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ прислал сообщСниС с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ /start ΠΈΠ»ΠΈ /help

Π’ этом случаС ΠΏΠΎΠΌΠΈΠΌΠΎ тСкста ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $reply Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, состоящая ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ: «ПослСдниС ΡΡ‚Π°Ρ‚ΡŒΠΈΒ», Β«ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°Β» ΠΈ Β«Π“ΠΈΡ„ΠΊΠ°Β».

РСализуСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° replyKeyboardMarkup, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

8. Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ sendPhoto, для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π³ΠΈΡ„ΠΊΠΈ – sendDocument. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Telegram позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΡƒΡŽ ссылку Π½Π° Ρ„Π°ΠΉΠ», Ρ‡Ρ‚ΠΎ бСзусловно ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Π½ΠΎ Π½Π΅ Ρ‚Π°ΠΊ быстро, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»ΠΈ file_id ΡƒΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° сСрвСра Telegram ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΠ»ΠΈ Π³ΠΈΡ„ΠΊΠΈ.

9. Для получСния послСдних статСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ простой парсинг RSS Π»Π΅Π½Ρ‚Ρ‹ НСтологии ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ встроСнной Π² PHP Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ simplexml_load_file.

Π’ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π° sendMessage ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΄Π²Π° Π½ΠΎΠ²Ρ‹Ρ… значСния:

10. Π’ качСствС смайла (стрСлка Π²ΠΏΡ€Π°Π²ΠΎ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ символы \xE2\x9E\xA1. Бписок всСх смайлов Π² Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

11. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ протСстируСтС Π±ΠΎΡ‚Π° ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Π΅Π³ΠΎ работоспособности, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° всСобщСС ΠΎΠ±ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅.

Благодаря ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ API, Π±ΠΎΡ‚Ρ‹ Telegram ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… дСйствий, настройки ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ ΠΈ быстрому ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ созданию ΠΈΠ³Ρ€.

БСсплатными ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ°ΠΌΠΈ для продвиТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π±ΠΎΡ‚ΠΎΠ² Telegram Bot Store, TeleChappy ΠΈΠ»ΠΈ 50bots.

А Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ бСсплатного инструмСнта для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ Π±ΠΎΡ‚ΠΎΠ² ΠΎΡ‚ ЯндСкса β€” Botan.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠ±ΡƒΡ‡Π°Π΅ΠΌΡ‹ΠΉ Telegram Ρ‡Π°Ρ‚-Π±ΠΎΡ‚ с ИИ Π² 30 строчСк ΠΊΠΎΠ΄Π° Π½Π° Python

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. 3aac1f3187f0ccca7f43ee34699dfc32. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-3aac1f3187f0ccca7f43ee34699dfc32. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 3aac1f3187f0ccca7f43ee34699dfc32. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

БСгодня ΠΌΠ½Π΅ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΌΡ‹ΡΠ»ΡŒ: «А ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Telegram Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° с ИИ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ?Β»

БСйчас ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это совсСм Π»Π΅Π³ΠΊΠΎ, поэтому, Π½Π΅Π΄ΠΎΠ»Π³ΠΎ думая, я принялся ΠΊ написанию ΠΊΠΎΠ΄Π°.
Π―Π·Ρ‹ΠΊΠΎΠΌ я Π²Ρ‹Π±Ρ€Π°Π» Python, Ρ‚.ΠΊ. Π½Π° Π½Ρ‘ΠΌ Π»Π΅Π³Ρ‡Π΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° прилоТСниями.

Π˜Ρ‚Π°ΠΊ, для создания Telegram Ρ‡Π°Ρ‚-Π±ΠΎΡ‚Π° с ИИ Π½Π°ΠΌ потрСбуСтся:

1. API Telegram. Π’ качСствС ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ я взял ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ python-telegram-bot

2. API ИИ. Π’Ρ‹Π±Ρ€Π°Π» я ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΎΡ‚ Google, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Dialogflow. Он прСдоставляСт довольно-Ρ‚Π°ΠΊΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠ΅ бСсплатноС API. ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° Dialogflow для Python

Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π±ΠΎΡ‚Π° Π² Telegram

ΠŸΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ имя Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ ΠΈ пишСм @botfather. ПослС создания Π±ΠΎΡ‚Π° Π½Π°ΠΌ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ API Ρ‚ΠΎΠΊΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹ Π³Π΄Π΅-Ρ‚ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ, Ρ‚.ΠΊ. Π² дальнСйшСм ΠΎΠ½ Π½Π°ΠΌ понадобится.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π¨Π°Π³ 2. ПишСм основу Π±ΠΎΡ‚Π°

Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠ°ΠΏΠΊΡƒ Bot, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΌ создаём Ρ„Π°ΠΉΠ» bot.py. Π—Π΄Π΅ΡΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΠ΄ нашСго Π±ΠΎΡ‚Π°.
ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ консоль ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, устанавливаСм python-telegram-bot.

ПослС установки ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ «основу», которая ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ просто ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹ΠΌΠΈ сообщСниями. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ прописываСм наш Ρ‚ΠΎΠΊΠ΅Π½ API:

Π”Π°Π»Π΅Π΅ напишСм 2 ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΎ callback-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. НапишСм Π΄Π²Π΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ /start ΠΈ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ любого тСкстового сообщСния. Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ‚ΡƒΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: bot ΠΈ update. Bot содСрТит Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для взаимодСйствия с API, Π° update содСрТит Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅ΠΌ сообщСнии.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ лишь ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ увСдомлСниям эти ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ поиск ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
ДСлаСтся это ΠΎΡ‡Π΅Π½ΡŒ просто:

Π˜Ρ‚ΠΎΠ³ΠΎ, полная основа скрипта выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ нашСго Π½ΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΡ‚Π°. ВставляСм Π½Π° 2 строкС наш API Ρ‚ΠΎΠΊΠ΅Π½, сохраняСм измСнСния, пСрСносимся Π² консоль ΠΈ запускаСм Π±ΠΎΡ‚Π°:

ПослС запуска пишСм Π΅ΠΌΡƒ. Если всё настроСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²ΠΎΡ‚ это:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Основа Π±ΠΎΡ‚Π° написана, приступаСм ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ!
P.s. Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Π°, для этого Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² консоль ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl + C, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Ρƒ сСкунд ΠΈ Π±ΠΎΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π¨Π°Π³ 3. Настройка ИИ

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈΠ΄Ρ‘ΠΌ ΠΈ рСгистрируСмся Π½Π° Dialogflow (просто Π²Ρ…ΠΎΠ΄ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ своСго Google Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°). Π‘Ρ€Π°Π·Ρƒ послС Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² панСль управлСния.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π–ΠΌΡ‘ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Create agent ΠΈ заполняСм поля ΠΏΠΎ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ (это Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€ΠΎΠ»ΠΈ Π½Π΅ сыграСт, это Π½ΡƒΠΆΠ½ΠΎ лишь для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ дСйствия).

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π–ΠΌΡ‘ΠΌ Π½Π° Create ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

РасскаТу, ΠΏΠΎΡ‡Π΅ΠΌΡƒ созданный Π½Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅ «АгСнт» Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ€ΠΎΠ»ΠΈ Π½Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚. Π’ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Intents Π΅ΡΡ‚ΡŒ Β«ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹Β», ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΡ‚. БСйчас ΠΎΠ½ ΡƒΠΌΠ΅Π΅Ρ‚ лишь ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Ρ„Ρ€Π°Π·Ρ‹ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ²Π΅Ρ‚Β», ΠΈ Ссли Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚, Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Β«Π― вас Π½Π΅ понял». НС сильно впСчатляСт.
ПослС создания нашСго пустого Π°Π³Π΅Π½Ρ‚Π°, Ρƒ нас появилась ΠΊΡƒΡ‡Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ. Нам Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° Prebuilt Agents (это ΡƒΠΆΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π°Π³Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ мноТСство ΠΊΠΎΠΌΠ°Π½Π΄) ΠΈ ΠΈΠ· всСго прСдставлСнного списка Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Small Talk.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Наводим Π½Π° Π½Π΅Π³ΠΎ ΠΈ ΠΆΠΌΡ‘ΠΌ Import. Π”Π°Π»Π΅Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ мСняя, ΠΆΠΌΡ‘ΠΌ Ok. АгСнт импортировался ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ. Для этого Π² Π»Π΅Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΆΠΌΡ‘ΠΌ Π½Π° ΡˆΠ΅ΡΡ‚Π΅Ρ€Ρ‘Π½ΠΊΡƒ Π²ΠΎΠ·Π»Π΅ Small-Talk ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° страницу настроСк. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя Π°Π³Π΅Π½Ρ‚Π°, ΠΊΠ°ΠΊ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ (я ΠΎΡΡ‚Π°Π²Π»ΡΡŽ ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ). МСняСм часовой пояс ΠΈ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Languages провСряСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» установлСн русский язык (Ссли Π½Π΅ установлСн, Ρ‚ΠΎ ставим).

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).
Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

ВозвращаСмся Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ General, спускаСмся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠ· ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Client access token

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ наш ИИ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настроСн, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±ΠΎΡ‚Ρƒ.

Π¨Π°Π³ 4. Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ всё вмСстС

ИИ Π³ΠΎΡ‚ΠΎΠ², основа Π±ΠΎΡ‚Π° Π³ΠΎΡ‚ΠΎΠ²Π°, Ρ‡Ρ‚ΠΎ дальшС? Π”Π°Π»ΡŒΡˆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ API ΠΎΡ‚ Dialogflow для ΠΏΠΈΡ‚ΠΎΠ½Π°.

Установили? ВозвращаСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π±ΠΎΡ‚Ρƒ. ДобавляСм Π² Π½Π°ΡˆΡƒ ΡΠ΅ΠΊΡ†ΠΈΡŽ «Настройки» ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ apiai ΠΈ json (Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ json ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΎΡ‚ dialogflow). Π’Π΅ΠΏΠ΅Ρ€ΡŒ это выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ textMessage (которая ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ любого тСкстового сообщСния) ΠΈ посылаСм ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сообщСния Π½Π° сСрвСра Dialogflow:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ запрос ΠΊ Dialogflow, Π½ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΎΡ‚Π²Π΅Ρ‚. ДописываСм ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ строк, ΠΈΡ‚ΠΎΠ³ΠΎ textMessage выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

НСмного пояснСний. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

получаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвСра, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, просто примСняСм ΠΌΠ΅Ρ‚ΠΎΠ΄

ΠΈ послС этого Β«Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΒ» всё Π²

Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ json ΠΎΡ‚Π²Π΅Ρ‚.

Если ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π΅Ρ‚ (Ρ‚ΠΎΡ‡Π½Π΅Π΅, json ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ всСгда, Π½ΠΎ Π½Π΅ всСгда Π΅ΡΡ‚ΡŒ сам массив с ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ ИИ), Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Small-Talk Π½Π΅ понял ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Β«ΠΎΡ‚Π²Π΅Ρ‚Π°Β» Π½Π΅Ρ‚, Ρ‚ΠΎ пишСм ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Β«Π― Вас Π½Π΅ совсСм понял!Β».
Π˜Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π±ΠΎΡ‚Π° с ИИ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

БохраняСм измСнСния, запускаСм Π±ΠΎΡ‚Π° ΠΈ ΠΈΠ΄Ρ‘ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ:

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π’ΠΎΡ‚ ΠΈ всё! Π‘ΠΎΡ‚ Π² 30 строк с ИИ написан!

Π¨Π°Π³ 5. Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ

Π”ΡƒΠΌΠ°ΡŽ, Π’Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΡ‚Π° с ИИ – Π΄Π΅Π»ΠΎ 10 ΠΌΠΈΠ½ΡƒΡ‚. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ лишь Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Π³ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒ. Π”Π΅Π»Π°Ρ‚ΡŒ это, кстати, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Training. Π’Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ писались ΠΈ Ρ‡Ρ‚ΠΎ Π½Π° Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» Π±ΠΎΡ‚ (ΠΈΠ»ΠΈ Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ»). Π’Π°ΠΌ ΠΆΠ΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΠ±ΡƒΡ‡Π°Ρ‚ΡŒ, говоря Π±ΠΎΡ‚Ρƒ Π³Π΄Π΅ ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π° Π³Π΄Π΅ Π½Π΅Ρ‚.

Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. image loader. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Ρ„ΠΎΡ‚ΠΎ. Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ Π±ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. На Π₯Π°Π±Ρ€Π΅, Π΄Π° ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΏΡ€ΠΎ Π±ΠΎΡ‚ΠΎΠ² рассказано ΡƒΠΆΠ΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ слишком. Но Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Ρƒ нСдСль Π½Π°Π·Π°Π΄ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ, Π½Π°ΠΉΡ‚ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Ρƒ мСня Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹ΡˆΠ»ΠΎ: всС ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ Π»ΠΈΠ±ΠΎ для совсСм Ρ‡Π°ΠΉΠ½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ сообщСния Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΈ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹. Π­Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Ρ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΎ мСня Π½Π° написаниС ΡΡ‚Π°Ρ‚ΡŒΠΈ, которая Π±Ρ‹ объяснила Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ, ΠΊΠ°ΠΊ я, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ осмыслСнного Π±ΠΎΡ‚Π° (с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

НадСюсь, ΡΡ‚Π°Ρ‚ΡŒΡ Π±Ρ‹Π»Π° Π’Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΡƒΠ΄Π°Ρ‡ΠΈ Π² ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *