ืืื ืืึธื ืืื ืึธื ืืขืืืืื ืคึฟืึทืจืืืคึฟื ืืื ืืขืจ ืืืขืื ืคึฟืื IT ืืืืื ืืื ืืจืื ืืืึธืื ืฆืืจืืง. ืขืืขืก, ืืจืื ืืืึธืื ืฆืืจืืง ืืื ืืื ื ืืฉื ืืคืืื ืคึฟืึทืจืฉืืืื HTML ืกืื ืืึทืงืก, ืืื ืืืื ืืงืืื ืฆื ืคึผืจืึธืืจืึทืืืื ื ืฉืคืจืึทืื ืืขืขื ืืืงื ืืื ืึท ืฉืืืข ืงืขืจืืงืืึทืืึทื ืืืืฃ ืคึผืึทืกืงืึทื ืคืื 10 ืืึธืจ ืฆืืจืืง. ืึธืืขืจ, ืืื ืืึทืฉืืึธืกื ืฆื ืืืื ืฆื ืึท IT ืืึทืืขืจ, ืืื ืขืก ืืืึธืื ืืืื ืคืืึทื ืคึฟืึทืจ ืื ืงืื ืืขืจ ืฆื ืืึทืื ืึท ืืึธื. ืืื ืืื ืืืฉืืืกื ืื ืขืก ืืื ืงืืื ืืืื ืฉืืืขืจ.
ืืืก ืื ืืขืืืืื ืึท ืืึทื ื ื ืกืืขื ืืื ืืืึธืก ืืื:
- ืืืคึผืืืื ืึท ืืืึธืืงื ืกืขืจืืืขืจ ืืื ืืืื ืื,
- ืจืขืืืกืืจืืจื ืืืืฃ GitHub,
- ืืขืืขืจื ื ืืงืขืจืืืง ืืืฉืึทืืืึทืกืงืจืืคึผื ืกืื ืืึทืงืก,
- ืืืืขื ืขื ืึท ืคึผืืึทืฅ ืคืื ืึทืจืืืงืืขื ืืื ืขื ืืืืฉ ืืื ืจืืกืืฉ,
- ืืขืกืึธืฃ ืืขืืืื ืึท ืืึธื,
- ืืื ืืขืกืึธืฃ ืืขืฉืจืืื ืืขื ืึทืจืืืงื.
ืืขืจ ืขื ืืืืืืืงืขืจ ืจืขืืืืืื ืืื ืืืืกืืขืืขื ืืืื:
ืืื ืืืขื ืืึธืื ืืืืื ืึทื ืืึธืก ืืื ืึทื ืึทืจืืืงื ืคึฟืึทืจ ืืืืื ืขืจื - ื ืึธืจ ืฆื ืคึฟืึทืจืฉืืืื ืืื ืฆื ืืึธื ืืงืขืจืืืง ืืื ืื ืคึฟืื ืงืจืึทืฆื.
ืืื ืืืื - ืคึฟืึทืจ ืึทืืืึทื ืกืืจืืข ืคึผืจืึธืืืจืึทืืขืจื - ื ืึธืจ ืฆื ืืึทืื ืืื ืืึทืื ืึท ืืืกื.
1. ืืื ืฆื ืฉืจืืึทืื ืงืึธื ืืื JS?
ืืื ืืึธื ืคึฟืึทืจืฉืืึทื ืขื, ืึทื ืขืก ืืื ืึผืืึทื ืคึฟืจืึดืขืจ ืฆื ืคึฟืึทืจืฉืืืื ืืขื ืกืื ืืึทืงืก ืคึฟืื ืืขืจ ืฉืคึผืจืึทื. ืื ืืจืืจื ืืื ืืขืคืืื ืืืืฃ ืืืฉืึทืืืึทืกืงืจืืคึผื, ืคืฉืื ืืืืึทื ืืขืจ ืืืืึทืืขืจ ืฉืจืื ืคึฟืึทืจ ืืืจ ืืื ืืขืืืขื ืฆื ืฉืึทืคึฟื ืึท ืึทืคึผืืึทืงืืืฉืึทื ืืื ReactNative. ืืื ืื ืืขืืืืื ืืื
2. ืืื ืฆื ืจืขืืืกืืจืืจื ืึท ืืึธื?
ืืึธืก ืืึธื ืืืจ ืึท ืกื ืืขืืึธืืคื ืืื ืึธื ืืืื
3. ืืืึธืก ืืื ืืขืจ ืืึธื ืงืึธื ืงืืง ืืื?
ื ืึธื ืืขืจื ืขื ืื ืึทืจืืืงืืขื ืคึฟืึทืจ ืึท ืืึทื ื ืฆืืึทื, ืืื ืืืื ืืขืืขื ืึทื ืขืก ืืื ืืืขืจื ืฆื ื ืืฆื ืึท ืืื ืคืื ืืืืืืึธืืขืง (ืืจืื-ืคึผืึทืจืืื ืงืึธื ืืื ืืึธืืืืข ืคึฟืึธืจืืึทื) ืึทืืื ื ืืฉื ืฆื ืืึธืจื ืืืขืื ืืขืจื ืขื ืื ืืขืืขืืจืึทื ืึทืคึผื ืืื ืฉืึทืคึฟื ืืจืืืก ืงืึธื ืคืื ืงืจืึทืฆื. ืืื ืืขืคืื ืขื ืื ืคืจืืืืืืขืจืง
3. ืืื ืฆื ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืืืึธืืงื ืกืขืจืืืขืจ ืคึฟืึทืจ 100 ืจืืื
ื ืึธื ืึท ืคึผืืึทืฅ ืคืื ืืืื, ืืื ืืืื ืืขืืขื ืึทื ืื 'npm' ืืึทืคึฟืขื ืืื ืื ืืืื ืืืืื ืจืขืคืขืจืก ืฆื ืื ืืึทืคึฟืขืื ืฉืืจื. ืื ืืึทืคึฟืขื ืฉืืจื ืืื ืืืืขืืื, ืึธืืขืจ ืฆื ืงืขื ืขื ืฆื ืืืกืคืืจื ืขืก, ืืืจ ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื NodePackageManager. ืืขืจ ืคึผืจืึธืืืขื ืืื ืืขืืืขื ืึทื ืืื ืืื ืืขืืืขื ืคึผืจืึธืืจืึทืืืื ื ืืืืฃ ืึท ืคึผืืงืกืขืืืึธืึธืง ืืื ChromeOS. ืืื ืืืขื ืืึธืคึผืงืขื ืืึธ ืึท ืืจืืืก ืืืึธืง ืืืขืื ืืื ืืื ืืขืืขืจื ื ืืื ืืงืก - ืคึฟืึทืจ ืจืืึฟ ืขืก ืืื ืืืืืืง ืืื ืืื ืืืืืง. ืืืื ืืืจ ืืึธืื Windows ืึธืืขืจ ืึท ืืึทืงืืึธืึธืง, ืืืจ ืฉืืื ืืึธืื ืึท ืงืึทื ืกืึธืื.
ืืื ืึท ื ืึทืืฉืขื, ืืื ืืื ืกืืึทืืืจื ืืื ืืงืก ืืืจื ืงืจืึธืกืืื ื.
ืึธืืขืจ, ืืื ืืขื ืคึผืจืึธืฆืขืก, ืืื ืืืื ืืขืืขื ืึทื ืคึฟืึทืจ ืื ืืึธื ืฆื ืึทืจืืขืื ืงืขืกืืืืขืจ (ืืื ื ืื ื ืึธืจ ืืืขื ืืืื ืงืึธืืคึผืืืืขืจ ืืื ืืืืฃ), ืืื ืืึทืจืคึฟื ืึท ืืืึธืืงื ืกืขืจืืืขืจ. ืืื ืืื ืืืืกืืขืจืืืืืื
4. ืืื ืฆื ืฆืืืจืืืื ืึท ืกืขืจืืืขืจ ืฆื ืืืืคื ืึท ืืึธื
ื ืึธื ืืขื, ืืื ืืืื ืืขืืขื ืึทื ืืื ืืืจืฃ ืฆื ืืึทืื ืึท ืกืึธืจื ืคืื ืืขืงืข ืืืืฃ ืื ืกืขืจืืืขืจ ืืื ืืืึธืก ืืื ืืืึธืื ืฉืืขืื ืื ืืขืงืข ืืื ืื ืงืึธื ืืขืงืกื. ืฆื ืืึธื ืืึธืก, ืืื ืื ืงืึทื ืกืึธืื (ืืืืคื ืืืืื ืืืืฃ ืืขืจ ืืืขืืืืืื ืืืจื ืื ืงื ืขืคึผื "ืขืคึฟื ืงืึทื ืกืึธืื"), ืืื ืืจืืื
mkdir bot
bot - ืืึธืก ืืื ืืขืืืืจื ืืขืจ ื ืึธืืขื ืคืื ืืืื ืืขืงืข. ื ืึธื ืืขื, ืืื ืืื ืกืืึทืืืจื npm ืืื Node.js, ืืืึธืก ืืืขื ืืึธืื ืืืจ ืฆื ืืืืคื ืงืึธื ืคึฟืื ืืขืงืขืก ืืื *.js ืืึทืืืึธืืข.
sudo apt update
sudo apt install nodejs
sudo apt install npm
ืืื ืืขืืกื ืจืขืงืึธืืขื ืืืจื ืืึทืฉืืขืืืงื ืึท ืงืฉืจ ืฆื ืื ืกืขืจืืืขืจ ืืืจื ืืืื ืงืึทื ืกืึธืื ืืื ืืขื ืืื ืข. ืืึธ
5. ืืื ืฆื ืฉืจืืึทืื ืื ืงืึธื ืคึฟืึทืจ ืืืื ืขืจืฉืืขืจ ืืึธื.
ืืืขืจ ืืืฆื ืขืก ืืื ื ืึธืจ ืึท ืืคืืขืงืื ื ืคึฟืึทืจ ืืืจ. ืงืืื ืคึผืจืึธืืจืึทื ืืื ืืืืื ืฉืืจืืช ืคืื ืืขืงืกื. ืืื ืงืขื ืขื ืืืื ืื ืกืขืจืืึทื ืขืจืืขืฅ, ืืขืจืืืขืืืขื ืืื ืื ืืขืืขืื ืคืึทืจืืขื ืืขืจืื ื, ืืื ืืึธืก ืืื ืขืก. ืื ืืืกื ืฉืืื. ืืื ืืื ืืขื ืืฆื
ืืื ืืื ืืขืืืื ื ื ืืืข ืคืืื, ืืื ืืืขืืื ืืื ืืื ืืจืืื ืืขืืืืื ืืขื ืงืืื ืคืื ืขื ืืืืฉืคืื ืืืืคื ืืขืืขืืจืืฃ ืืืื ืืื ืขืก ืืขืจืืืขืืืขื ืืื ืื index.js ืืขืงืข (ืืื ืืืืขืืืื ืืื ื ืืฉื ื ืืืืืง ืฆื ื ืขืืขื ืื ืคืืื ืืืื, ืืืขืจ ืืืก ืืื ื ืืื). ืืืืืืืง - ืึทื ืฉืืึธื ืคืื BOT_TOKEN, ืึทืจืืึทื ืืืืื ืืืื ืึทืคึผื ืฉืืืกื ืคึฟืื ืื ืจืืข ืคึผืึทืจืึทืืจืึทืฃ.
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. ืืื ืฆื ืืคึผืืึธืึทื ืงืึธื ืฆื ืื ืกืขืจืืืขืจ ืืืจื ืืืืืื
ืืืฆื ืืื ืืืจืฃ ืฆื ืขืคืขืก ืืคึผืืึธืึทื ืืขื ืงืึธื ืฆื ืื ืกืขืจืืืขืจ ืืื ืืืืคื ืขืก. ืืึธืก ืืื ืืขืืืขื ืึท ืึทืจืืืกืจืืคื ืคึฟืึทืจ ืืืจ. ืืื ืึท ืจืขืืืืืึทื, ื ืึธื ืคืื ืึธืจืืขื ืื ื, ืืื ืืืื ืืขืืขื ืึทื ืขืก ืืืึธืื ืืืื ืืจืื ืืขืจ ืฆื ืฉืึทืคึฟื ืึท ืืขืงืข ืืืืฃ ืืืืืื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืืขืจืืืึทื ืืืงื ืื ืงืึธื ืืื ืึท ืืึทืคึฟืขื ืืื ืื ืงืึทื ืกืึธืื. ืืื ืจืขืืืกืืจืืจื ืึท ืืฉืืื ืืืืฃ
7. ืืื ืฆื ืืคึผืืึธืึทื ืืขืงืขืก ืฆื ืื ืกืขืจืืืขืจ ืืืจื ืืืืืื ืืืื 2
ืืื ืืืจืฃ ืฆื ืื ืกืืึทืืืจื ืึท ืคึผืจืึธืืจืึทื ืืืืฃ ืื ืกืขืจืืืขืจ ืืืึธืก ืืืึธืื ืืจืืคืงืืคืืข ืืขืงืขืก ืคึฟืื ืืื. ืืื ืืื ืกืืึทืืืจื ืืื ืืืืฃ ืื ืกืขืจืืืขืจ ืืืจื ืืืืคึผืื ื ืืื ืื ืงืึทื ืกืึธืื
apt-get install git
ื ืึธื ืืืึธืก ืืื ืืืจืฃ ืฆื ืงืึทื ืคืืืืขืจ ืื ืืขืงืข ืืคึผืืึธืึทื. ืฆื ืืึธื ืืึธืก, ืืื ืืืืคึผื ืืื ืื ืืึทืคึฟืขืื ืฉืืจื
git clone git://github.com/b0tank/bot.git bot
ืืื ืึท ืจืขืืืืืึทื, ืึทืืฅ ืคืื ืื ืคึผืจืืืขืงื ืืื ืืขืืืขื ืืคึผืืึธืึทืืขื ืฆื ืื ืกืขืจืืืขืจ. ืืขืจ ืืจืืึทื ืืื ืืขื ืืื ืข ืืื ืืขืืืขื ืึทื ืืื ืืกืขื ืฉืึทืื ืืขืืืื ืึท ืฆืืืืื ืืขืงืข ืืื ืื ืฉืืื ืืืืืกืืื ื ืืึธื ืืขืงืข. ืื ืึทืืจืขืก ืฆื ืืขืจ ืืขืงืข ืืขืงืืงื ืืื */bot/bot/index.js
ืืื ืืึทืฉืืึธืกื ืฆื ืืืื ืึธืจืืจื ืืขื ืคึผืจืึธืืืขื.
ืืื ืฆื ืืึทืกืข ืื ืืขืืขืืจืึทืฃ ืืืืืืึธืืขืง, ืืืึธืก ืืืจ ืืขืื ืืื ืืขืจ ืขืจืฉืืขืจ ืฉืืจื ืคืื ืงืึธื, ืึทืจืืึทื ืื ืืึทืคึฟืขื ืืื ืื ืงืึทื ืกืึธืื.
npm install telegraf
8. ืืื ืฆื ืงืึทืืขืจ ืึท ืืึธื
ืฆื ืืึธื ืืึธืก, ืืื ืืขืจ ืืขืงืข ืืื ืื ืืขืงืข (ืฆื ืึทืจืืืขืจืคืืจื ืคืื ืืขืงืข ืฆื ืืขืงืข ืืืจื ืื ืงืึทื ืกืึธืื, ืืืืคื ืื ืคึฟืึธืจืืึทื ืืึทืคึฟืขื cd bot
ืฆื ืืึทืื ืืืืขืจ ืึทื ืืืจ ืืขื ื ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืืืื, ืืืจ ืงืขื ื ืึทืจืืึทื ืึท ืืึทืคึฟืขื ืืืึธืก ืืืขื ืืืืึทืื ืึทืืข ืื ืืขืงืขืก ืืื ืคืึธืืืขืจืก ืืื ืื ืงืึทื ืกืึธืื. ls -a
ืฆื ืึธื ืืืืื, ืืื ืืจืืื ืืื ืื ืงืึทื ืกืึธืื
node index.js
ืืืื ืขืก ืืื ืงืืื ืืขืืช, ืึทืืฅ ืืื ืืื, ืื ืืึธื ืึทืจืืขื. ืืืื ืืื ืืืืฃ ืืขืืขืืจืึทื. ืืืื ืขืก ืืื ืึท ืืขืืช, ืฆืืืืืื ืืืื ืืืืกื ืคึฟืื ืคืื ื 1.
9. ืืื ืฆื ืืืืคื ืึท ืืึธื ืืื ืืขืจ ืืื ืืขืจืืจืื ื
ืืึทื ืฅ ืืขืฉืืืื ื ืืืจ ืืืขื ืคึฟืึทืจืฉืืืื ืึทื ืืขืจ ืืึธื ืึทืจืืขื ื ืึธืจ ืืืขื ืืืจ ืืื ืืืฆื ืืื ืื ืงืึทื ืกืึธืื. ืฆื ืกืึธืืืืข ืืขื ืคึผืจืึธืืืขื ืืื ืืขืืืืื ื ืื ืืึทืคึฟืขื
screen
ื ืึธื ืืขื, ืึท ืคืึทืจืฉืืขืื ืืื ืขืืืขืืข ืืขืงืกื ืืืขื ืืขืจืฉืืึทื ืขื. ืืึธืก ืืืื ื ืึทื ืึทืืฅ ืืื ืืื. ืืืจ ืืขื ื ืืืืฃ ืึท ืืืืจืืืึทื ืกืขืจืืืขืจ ืืืืฃ ืึท ืืืึธืืงื ืกืขืจืืืขืจ. ืฆื ืคึฟืึทืจืฉืืืื ืืขืกืขืจ ืืื ืขืก ืึทืืข ืึทืจืืขื -
node index.js
10. ืืื ืื ืืึธื ืึทืจืืขื ืืื ืืื ืฆื ืืงืกืคึผืึทื ื ืืืึทื ืคืึทื ืืงืฉืึทื ืึทืืืื
ืืืึธืก ืงืขื ืขื ืืื ืืืขืจ ืืืืฉืคึผืื ืืึธื ืืึธื? ืขืจ ืงืขื
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()
ืืืื ืืืจ ืงืืง ืืื ืื ืงืึธื ctx.replyWithPhoto
ืขืก ืึทืืึทืื ืืืจ ืฆื ืฉืืงื ืึท ืกืคึผืขืกืืคืืขื ืคืึธืืึธ ืึธืืขืจ ืืืฃ ืืื ืขื ืืคืขืจ ืฆื ืึท ืกืคึผืขืฆืืคืืฉ ืืขืงืกื.
ื ืืึทืืืึทืืืง ืืืื ืคืื ืื ืงืึธื ืืื ืืขืืืขื ืืขืฉืจืืื ืืืจื ืงืื ืืขืจ ืึทืื 11-13, ืฆื ืืืขืืขื ืืื ืืขืืขืื ืึทืงืกืขืก ืฆื ืื ืืึธื. ืืื ืืขื ืขื ืืจืืื ืืื ืืืืขืจ ืืึทื ืืฆืขืจ-ืคืึทื. ืืื ืืจืึทืืื ืขืก ืืื ืืจืื ื ืฆื ืืึธืื ืืืึธืก ืืืื ืืื ืืขืืืื ืืืจื ืืื.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืขืจ ืึธื ืืึธื "ืืืฉืืืง" ืืืขื ืืึทืงืืืขื ืึท GIF ืืื ืึท ืืึทืจืืื ืืึทืจืึทืงืืขืจ ืคืื ืื ืงืึทืจืืื ืคึผืึทืกืืจืื ื ืฆืืื.
ืฆื ืึทื ืืืืืงืืขื ืื ืืึธื ืืืืึทืืขืจ, ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืื ืื ืึท ืงืืึทืืืืึทืืืจ, ืืขื ืืืืฉืคืืื, ืืืฉื,
11. ืืื ืฆื ืืขืจืืืึทื ืืืงื ืื ืงืึธื ืืื ืจืืกืืึทืจื ืื ืืึธื
ืื ืืืืกื ื ืืฉื ืคืึทืจืืขืกื ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืืขืจืืืึทื ืืืงื ืื ืงืึธื ื ืื ืืืืื ืืืืฃ ืืืืืื, ืึธืืขืจ ืืืื ืืืืฃ ืื ืกืขืจืืืขืจ. ืืึธืก ืืื ืืจืื ื ืฆื ืืึธื - ืืึทืืื ืื ืืึธื (ืืจืืงื ืงืืจื + C),
- ืึทืจืืึทื ืื ืงืึทื ืกืึธืื ืืื ืืขืจ ืฆืื ืืขืงืข, git pull
- ืืืจ ืงืึทืืขืจ ืื ืืึธื ืืืืืขืจ ืืื ืื ืืึทืคึฟืขื node index.js
ืขืง
ืคืืืข ืคืื โโืื ืืื ืื ืืืกืงืจืืืื ืืื ืืขื ืืขืงืข ืืืขื ืืืื ืกืืคึผืขืจ ืงืืึธืจ ืืื ืืขืจ ืืึธื ืคึฟืึทืจ ืึทืืืึทื ืกืืจืืข ืคึผืจืึธืืืจืึทืืขืจื. ืึธืืขืจ, ืืืขื ืืื ืึทืืืื ืืขืคืจืืืื ืฆื ืฉืคึผืจืื ืืขื ืืืืขืจ ืื ืงืึทื ืฆื ืืขืจ ืืืขืื ืคืื ืืึธืฅ ืืื ืืืื ืคืึทื, ืืื ืืึทืงืข ืืืกื ืึทืืึท ืึท ืคืืจืขืจ. ื ืคืืจืขืจ ืืืึธืก ืคืขืื ื ืื ืงืืึธืจ ืืื ืคึผืฉืื ืืื ืื ืคึฟืึทืจ ืงืืื IT ืืืืืข.
ืืื ืืขืจ ืฆืืงืื ืคึฟื, ืืื ืคึผืืึทื ืืจื ืึท ืคึผืึธืกืื ืืืขืื ืืื ืฆื ืืึทืื ืืืื ืขืจืฉืืขืจ ืึทืคึผืืึทืงืืืฉืึทื ืืืืฃ ReactNative ืืื ืืขืจ ืืขืืืืงืขืจ ื ืืกื, ืึทืืึธื ืืจื!
ืืงืืจ: www.habr.com