Π― Π½Π°ΡΠ°Π» ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΈΡ IT Π»ΠΈΡΡ ΡΡΠΈ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄. Π‘Π΅ΡΡΠ΅Π·Π½ΠΎ, ΡΡΠΈ Π½Π΅Π΄Π΅Π»ΠΈ Π½Π°Π·Π°Π΄ Ρ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π» ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° HTML, Π° Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π»ΠΎΡΡ ΡΠΊΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΏΠΎ Pascal 10-Π»Π΅ΡΠ½Π΅ΠΉ Π΄Π°Π²Π½ΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Ρ ΡΠ΅ΡΠΈΠ»ΡΡ ΠΏΠΎΠ΅Ρ Π°ΡΡ Π² IT-Π»Π°Π³Π΅ΡΡ, Π΄Π»Ρ Π΄Π΅ΡΠ΅ΠΉ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΠΎΡΠ°. Π― ΡΠ΅ΡΠΈΠ», ΡΡΠΎ ΡΡΠΎ Π²ΡΡΠ΄ Π»ΠΈ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ½ΠΎ.
Π‘ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΏΡΡΡ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ:
- ΡΠ°Π·Π²Π΅ΡΠ½ΡΠ» ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Ρ Ubuntu,
- Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π»ΡΡ Π½Π° GitHub,
- Π²ΡΡΡΠΈΠ» Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ JavaScript,
- ΠΏΡΠΎΡΠΈΡΠ°Π» ΡΠΎΠ½Π½Ρ ΡΡΠ°ΡΠ΅ΠΉ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΠΈ ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ°Ρ ,
- ΡΠ΄Π΅Π»Π°Π», Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π±ΠΎΡΠ°,
- Π½Π°ΠΏΠΈΡΠ°Π» ΡΡΡ ΡΡΠ°ΡΡΡ, Π½Π°ΠΊΠΎΠ½Π΅Ρ.
ΠΡΠ³Π»ΡΠ΄Π΅Π» ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
Π‘ΠΊΠ°ΠΆΡ ΡΡΠ°Π·Ρ, ΡΡΠΎ ΡΡΠ°ΡΡΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
β ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ Ρ ΡΠ°ΠΌΠΎΠΉ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠΎΡΠΊΠΈ.
Π Π΅ΡΠ΅ β Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² β ΠΏΡΠΎΡΡΠΎ ΡΡΠΎΠ±Ρ ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΌΠ΅ΡΠΈΡΡ.
1. ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π½Π° JS?
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Π», ΡΡΠΎ ΡΡΠΎΠΈΡ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Ρ
ΠΎΡΡ Π±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠ·ΡΠΊΠ°. ΠΡΠ±ΠΎΡ ΠΏΠ°Π» Π½Π° JavaScript, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ReactNative. Π― Π½Π°ΡΠ°Π» Ρ
2. ΠΠ°ΠΊ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΡΠ°?
Π Π½Π°ΡΠ°Π»Π΅ ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²ΠΎΡ
3. ΠΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠΎΠ΄ Π±ΠΎΡΠ°?
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ, Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΡΡ-ΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ (ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ), ΡΡΠΎΠ±Ρ Π½Π΅ ΠΌΡΡΠ°ΡΡΡΡ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ΠΌ API ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Ρ Π½ΡΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΊΡΡΠΊΠΎΠ² ΠΊΠΎΠ΄Π°. Π― Π½Π°ΡΠ΅Π» ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
3. ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° 100 ΡΡΠ±Π»Π΅ΠΉ
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΈΡ ΠΏΠΎΠΈΡΠΊΠΎΠ² Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ‘npm’ ΠΈΠ· ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π²ΡΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΠΎΠΌΠ°Π½Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π΅ΡΡΡ Π²Π΅Π·Π΄Π΅, Π½ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ NodePackageManager. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π» Ρ Π½Π° PixelBook Ρ ChromeOS. Π― ΠΏΡΠΎΠΏΡΡΡ Π·Π΄Π΅ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π±Π»ΠΎΠΊ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ·Π½Π°Π²Π°Π» Linux β Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΡΠΎ ΠΏΡΡΡΠΎΠ΅ ΠΈ Π½Π΅Π½ΡΠΆΠ½ΠΎΠ΅. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Windows ΠΈΠ»ΠΈ MacBook, Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΡΠ»ΠΈ Π² Π΄Π²ΡΡ ΡΠ»ΠΎΠ²Π°Ρ , Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΠ» Linux ΡΠ΅ΡΠ΅Π· Crostini.
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΡΠ° (Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΌΠ΅Π½Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ) ΠΌΠ½Π΅ Π½ΡΠΆΠ΅Π½ ΠΎΠ±Π»Π°ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ. Π― Π²ΡΠ±ΡΠ°Π»
4. ΠΠ°ΠΊ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΡΠ°
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΊΠ°ΠΊΡΡ-ΡΠΎ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΠΎΠ»ΠΎΠΆΡ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΊΠΎΠ΄Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ (Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΡΠΌΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΠΊΡΡΡΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΒ») Ρ Π²Π±ΠΈΠ»
mkdir bot
bot β ΡΡΠΎ ΡΡΠ°Π»ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» npm ΠΈ Node.js, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΌΠ½Π΅ ΠΏΠΎΡΠΎΠΌ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ°ΠΉΠ»ΠΈΠΊΠΎΠ² Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ *.js
sudo apt update
sudo apt install nodejs
sudo apt install npm
ΠΡΠ΅Π½Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΎΡ
5. ΠΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±ΠΎΡΠ°.
Π Π²ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΡΡΡΠΈΠ΅ Π΄Π»Ρ ΠΌΠ΅Π½Ρ. ΠΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠΎΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°. ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ Π²Π±ΠΈΡΡ ΠΊΡΠ΄Π° ΡΠ³ΠΎΠ΄Π½ΠΎ, ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Ρ Π½ΡΠΆΠ½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π²ΡΠ΅. Π’Ρ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»
Π― ΡΠ΄Π΅Π»Π°Π» Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΠ°Π²ΠΈΠ» ΠΊΠΎΠ΄ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ telegraf ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» Π² ΡΠ°ΠΉΠ» index.js (Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ» ΡΠ°ΠΊ, Π½ΠΎ ΡΠ°ΠΊ ΠΏΡΠΈΠ½ΡΡΠΎ). ΠΠ°ΠΆΠ½ΠΎ β Π²ΠΌΠ΅ΡΡΠΎ BOT_TOKEN Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ²ΠΎΠΉ API-ΠΊΠ»ΡΡ ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ°.
const Telegraf = require('telegraf')
const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome!'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()
6. ΠΠ°ΠΊ Π·Π°ΠΊΠΈΠ½ΡΡΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΠ΅Π· github
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΊΠΈΠ½ΡΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ. ΠΠ»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ ΡΡΠ°Π»ΠΎ ΡΠ΅Π»Π»Π΅Π½Π΄ΠΆΠ΅ΠΌ. Π ΠΈΡΠΎΠ³Π΅, ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ»Π³ΠΈΡ
ΠΌΡΡΠ°ΡΡΡΠ² Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΠΏΡΠΎΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Π½Π° github, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·ΠΎΠ²Π»ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. Π― Π·Π°ΡΠ΅Π³Π°Π» Π°ΠΊΠΊΠ°ΡΠ½Ρ Π½Π°
7. ΠΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΠ΅Π· github Ρ.2
ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ Ρ git. Π― ΠΏΠΎΡΡΠ°Π²ΠΈΠ» git Π½Π° ΡΠ΅ΡΠ²Π΅Ρ, Π²Π±ΠΈΠ² Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ
apt-get install git
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ Π²Π±ΠΈΠ» Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ
git clone git://github.com/b0tank/bot.git bot
Π ΠΈΡΠΎΠ³Π΅ Π²ΡΠ΅ ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΎΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΠΈΠ±ΠΊΠΎΠΉ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π±ΡΠ»ΠΎ, ΡΡΠΎ Ρ, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ΄Π΅Π»Π°Π» Π²ΡΠΎΡΡΡ ΠΏΠ°ΠΏΠΊΡ Π²Π½ΡΡΡΠΈ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ bot. ΠΠ΄ΡΠ΅Ρ Π΄ΠΎ ΡΠ°ΠΉΠ»Π° Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΊΠ°ΠΊ */bot/bot/index.js
Π― ΡΠ΅ΡΠΈΠ» ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.
Π ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ telegraf, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, Π²Π±Π΅ΠΉΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
npm install telegraf
8. ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΎΡΠ°
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ, Π½Π°Ρ
ΠΎΠ΄ΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ (ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΡ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΎΠ»Ρ β Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡΠΌΠ°ΡΠ° cd bot
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½ΡΠΆΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Π±ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌ Π»Π΅ΠΆΠ°Ρ ls -a
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Ρ Π²Π²Π΅Π» Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ
node index.js
ΠΡΠ»ΠΈ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ β Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, Π±ΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠ΅. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π΅ΡΡΡ β ΠΏΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈΠ· 1 ΠΏΡΠ½ΠΊΡΠ°.
9. ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΠΎΡΠ° Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ Π±ΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°ΠΌΠΈ ΡΠΈΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ
screen
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΊΡΠ°Π½ Ρ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΡΠ΅ΠΊΡΡΠΎΠΌ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΡΠ΅ Ρ
ΠΎΡΠΎΡΠΎ. ΠΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ Π»ΡΡΡΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ β
node index.js
10. ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π±ΠΎΡ ΠΈ ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»
Π§ΡΠΎ ΠΆΠ΅ ΡΠΌΠ΅Π΅Ρ Π½Π°Ρ Π±ΠΎΡ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°? ΠΠ½ ΡΠΌΠ΅Π΅Ρ
bot.start((ctx) => ctx.reply('Welcome!'))
Π³ΠΎΠ²ΠΎΡΠΈΡΡ Β«Welcome!Β» Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠ°ΡΡΠ° (ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠ΅ΠΊΡΡ)
bot.help((ctx) => ctx.reply('Send me a sticker'))
Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ /help ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Send me a stickerΒ»
bot.on('sticker', (ctx) => ctx.reply(''))
Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΡΡΠΈΠΊΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
ΠΎΡΠ²Π΅ΡΠ°ΡΡ Β«Hey thereΒ», Π΅ΡΠ»ΠΈ Π΅ΠΌΡ ΠΏΠΈΡΡΡ ‘hi’
bot.launch()
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π½Π° ctx.replyWithPhoto
ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΠΎ ΠΈΠ»ΠΈ gif Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ.
ΠΠ½Π°ΡΠΈΠΌΠ°Ρ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π΄Π΅ΡΡΠΌΠΈ 11-13 Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΌ Ρ Π΄Π°Π» Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΠΎΡΡ. ΠΠ½ΠΈ Π²Π²Π΅Π»ΠΈ ΡΠ²ΠΎΠΈ user-case. ΠΡΠΌΠ°Ρ, Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ ΡΠ΄Π΅Π»Π°Π½Π° Π±ΡΠ»Π° ΠΈΠΌΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Π΄ΠΆΠ΅ΠΉΠΊΒ» ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π³ΠΈΡΠΊΠ° Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΌ ΠΈΠ· ΠΌΡΠ»ΡΡΠΈΠΊΠ° Adventure Time.
Π§ΡΠΎΠ±Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ Π±ΠΎΡΠ° Π΄Π°Π»ΡΡΠ΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
11. ΠΠ°ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΊΠΎΠ΄ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±ΠΎΡΠ°
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΊΠΎΠ΄ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° github, Π½ΠΎ ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΠ΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ β ΡΡΠΎΠΏΠΈΠΌ Π±ΠΎΡΠ° (Π½Π°ΠΆΠ°ΡΡ ctrl+c),
β Π²Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ, Π½Π°Ρ
ΠΎΠ΄ΡΡΡ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, git pull
β Π²Π½ΠΎΠ²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ node index.js
END
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π±ΡΠ΄ΡΡ ΡΡΠΏΠ΅Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ°ΠΌ ΠΏΡΡΠ°Π»ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ³Π½ΡΡΡ ΠΏΡΠΎΠΏΠ°ΡΡΡ Π΄ΠΎ ΠΌΠΈΡΠ° Π±ΠΎΡΠΎΠ², ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ Π½Π΅ Ρ Π²Π°ΡΠ°Π»ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π³Π°ΠΉΠ΄Π°. ΠΠ°ΠΉΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΡΡΡΠ΅ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ IT-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ° Π²Π΅ΡΠΈ.
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Ρ ΠΏΠ»Π°Π½ΠΈΡΡΡ ΠΏΠΎΡΡ ΠΏΡΠΎ ΡΠΎ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ReactNative Π² ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ ΡΡΠΈΠ»Π΅, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ!
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com