แแฎแแแแ แกแแแ แแแแ แแก แฌแแ แแแแแฌแงแ IT แกแแแงแแ แแจแ แฉแแซแแ แแ. แกแแ แแแแฃแแแ, แกแแแ แแแแ แแก แฌแแ แแ แแ แช แแ แแแกแแแแ HTML แกแแแขแแฅแกแ แแ แฉแแแ แแแชแแแแ แแ แแแ แแแแ แแแแก แแแแแจแ แแแกแ แฃแแแ แแแกแแแแแ 10 แฌแแแก แฌแแแแแแแแ แกแแกแแแแ แแฃแ แแแฃแแฃแแแ. แแฃแแชแ แแแแแแฌแงแแแขแ IT แแแแแแจแ แฌแแแกแฃแแแงแแแ, แกแแแแช แแแแจแแแแแกแแแแก แแแ แแ แแฅแแแแแแ แแแขแแก แแแแแแแแ. แแแแแแฌแงแแแขแ, แ แแ แแก แซแแแแแ แ แแฃแแ แแงแ.
แแแแ แแแแฌแงแ แแ แซแแแ แแแแแแฃแ แแแ, แ แแแแแจแแช แแ:
- แแแแแแแแกแ แฆแ แฃแแแแแแแ แกแแ แแแ แ Ubuntu-แกแแแ แแ แแแ,
- แ แแแแกแขแ แแ แแแฃแแแ GitHub-แแ,
- แแแกแฌแแแแ แซแแ แแแแแ JavaScript แกแแแขแแฅแกแ,
- แฌแแแแแแฎแแ แฃแแแ แแแ แกแขแแขแแ แแแแแแกแฃแ แแ แ แฃแกแฃแ แแแแแแ,
- แแแแแก แจแแฅแแแแ แแแขแ,
- แกแแแแแแแ แแแแฌแแ แ แแก แกแขแแขแแ.
แกแแแแแแ แจแแแแแ แแกแ แแแแแแงแฃแ แแแแแ:
แแ แแแฃแงแแแแแแแแ แแแขแงแแ, แ แแ แแก แแ แแก แกแขแแขแแ แแแแฌแงแแแแแแแแก - แฃแแ แแแแ แแแแก แแแกแแแแแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแ แซแแ แแแแแ แกแแฅแแแแแ แแฃแแแแแ.
แแ แแกแแแ - แแแฌแแแแแ แแ แแแ แแแแกแขแแแแกแแแแก - แแฎแแแแ แแแแกแแแแก, แ แแ แชแแขแแแ แแแแชแแแแ.
1. แ แแแแ แแแแฌแแ แแ แแแแ JS-แจแ?
แแแแฎแแแ, แ แแ แฏแแ แแแแแช แฆแแ แแ แแแแก แกแแแขแแฅแกแแก แแแแแแ. แแ แฉแแแแแ JavaScript-แแ แแแแชแ, แฃแแ แแแแ แแแแขแแ, แ แแ แจแแแแแแ แแแแแฏแ แฉแแแแแแก แแงแ แแแแแแแชแแแก แจแแฅแแแ ReactNative-แจแ. แแแแแฌแงแ แแแแ
2. แ แแแแ แแแแ แแแแกแขแ แแ แแแ แแแขแ?
แแก แแแแแแแ แซแแแแแ แแแแแฎแแแ แ
3. แ แแแแ แแแแแแงแฃแ แแแ แแแขแแก แแแแ?
แกแขแแขแแแแแก แแแแ แฎแแแก แจแแกแฌแแแแแก แจแแแแแ แแแแฎแแแ, แ แแ แฆแแ แแ แ แแแแ แกแแฎแแก แแแแแแแแแแแก แแแแแงแแแแแ (แแแกแแแ แแฎแแ แแก แแแแ แแแแฃแแแก แคแแ แแแขแจแ), แ แแแ แแ แแแแ แแแฃแแ Telegram 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. แ แแแแ แแแแฌแแ แแ แแแแ แแฅแแแแ แแแ แแแแ แแแขแแกแแแแก.
แแแแ แแ แแฎแแ แแก แแฎแแแแ แแฆแแแฉแแแแ แฉแแแแแแก. แแแแแกแแแแ แ แแ แแแ แแแ แแฎแแแแ แขแแฅแกแขแแก แฎแแแแแแ. แแแแ แฉแแกแแ แจแแกแแซแแแแแแแ แกแแแแ, แจแแแแแฎแแแ แกแแกแฃแ แแแแ แแแคแแ แแแแแแ แแ แแก แแ แแก แแก. แฒแแแแแ แฎแแ . แแ แแแแแแแงแแแ
แจแแแฅแแแแ แแฎแแแ แคแแแแ, แ แแแแแจแแช แฉแแแแ แแแแ แขแแแแแ แแคแแก แแแแ แแแ แแ แจแแแแแแฎแ 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/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
แแก แกแแจแฃแแแแแแก แแแซแแแแ แแแแแแแแแ แแแแแแแแฃแแ แคแแขแ แแ gif แแแแแ แแขแฃแแ แขแแฅแกแขแแก แกแแแแกแฃแฎแแ.
แแแแแก แแแแจแแแแแแแแแ แแแฌแแแ แแแแฌแแ แ 11-13 แฌแแแก แแแแจแแแแแ, แ แแแแแแกแแช แแแขแแ แฌแแแแแ แแแแแชแ. แแกแแแ แจแแแแแแแ แแแแแแแแ แแแแฎแแแ แแแแแก แกแแฅแแแจแ. แแคแแฅแ แแ, แแแแแแ แกแแแฅแแแแแ, แ แแแแแ แแแฌแแแแ แแแ แแแแ แแแแแแแแฃแแ.
แแแแแแแแแ, แจแแขแงแแแแแแแ "Jake" แแแแฆแแแก GIF-แก แชแแแแแแ แแแ แกแแแแแแ แแฃแแขแคแแแแแแแ Adventure Time.
แแแขแแก แจแแแแแแแ แแแแแแแแ แแแแกแแแแก, แแฅแแแ แฃแแแ แแแแแแแจแแ แแ แแแแแแแขแฃแ แ, แแฎแแแแ แแแแแแแแแแ, แแแแแแแแแ,
11. แ แแแแ แแแแแแฎแแแ แแแแ แแ แแแแแขแแแ แแแ แแแขแ
แแ แแแแแแแฌแงแแแ, แ แแ แแแแแก แแแแแฎแแแแ แแญแแ แแแแแ แแ แ แแฎแแแแ github-แแ, แแ แแแแ แกแแ แแแ แแแช. แแแแก แแแแแแแแ แแแ แขแแแแ - แแแแฉแแ แแ แแแขแ (แแแแญแแ แแ ctrl+c),
- แจแแแแ แแแแกแแแจแ แกแแแแแแ แกแแฅแแฆแแแแแจแ แงแแคแแแกแแก, git pull
โ แแ แซแแแแแแ แแกแแ แแแแฃแจแแแ แแแขแ node index.js
END
แแ แคแแแแจแ แแฆแฌแแ แแแ แแแแ แ แ แแ แซแแแแแ แแจแแแ แ แแฅแแแแ แแแฌแแแแแ แแ แแแ แแแแกแขแแแแกแแแแก. แแฃแแชแ, แ แแชแ แแ แแแแแแ แแชแแแแแแแ แฃแคแกแแ แฃแแแ แแ แแ แแแ แขแงแแแ แแแแแแแฎแขแ แแแขแแแแก แกแแแงแแ แแจแ, แซแแแแแ แแแแแแแขแ แ แแกแแแ แกแแฎแแแแซแฆแแแแแแ. แแแแแแแแแแ, แ แแแแแกแแช แแ แแแแแขแแแแแก แแก, แ แแช แแจแแแ แ แแ แแแ แขแแแแ แแแแแกแแแแ แ IT แกแแแชแแแแแกแขแแกแแแแก.
แกแแแแแแแแแ แแแแแแแ แแแกแขแก แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแ แแฅแแแแ แแแ แแแแ แแแแแแแชแแ ReactNative-แแ แแแแแ แกแขแแแจแ, แแแแแแฌแแ แแ!
แฌแงแแ แ: www.habr.com