αααα»αβααΆαβα αΆααβααααΎαβα αΌαβαααα½αβα―αβαααα»αβαα·ααβααααααΆαβαα·ααααΆβααβααΈβαααααΆα αβαα»αβααα»αααααα ααΆαααααααααΆαααΈααΈαααααΆα ααα»α αααα»ααα·ααααααΆααααααααααα HTML αα α αΎαααΆαααααΆααααααααα»αα ααααααΆααΆααααααααααα·ααΈααΆααααα ααααΆαα½αααΉααααααα·ααΈαα·ααααΆαα ααΆααΆ Pascal ααΆααααΈ 10 ααααΆααα»αα αααααΆαααΆαααΆααααα αααα»αααΆααααααα α α·ααααα αααα»α IT ααΆαααααααααααΆααα’αααααΆαααααααααααα»αααΆααααααΎα bot α αααα»αααΆααααααα α α·αααααΆααΆαα·ααΆαααΆααα
αααααΆαα αΆααααααΎαααααΎαααααααα½αααααααα»αα
- ααΆαααΆαααααααΆα cloud server ααΆαα½α Ubuntu,
- ααΆαα α»αααααααα ααΎ GitHub,
- αααααΆααααααααααα JavaScript ααΌαααααΆα,
- α’αΆαα’αααααααΆα αααΎαααΆααΆααΆα’ααααααα αα·ααα»αααααΈ
- ααΈαααα»αααΆααααααΎα bot,
- ααΈαααα»ααααα»αααΆααααααα’ααααααααα
ααααααα α»ααααααααΎααα ααΌα αααα
αααα»αβααΉαβαα·ααΆαβααααΆαβααΆβαααβααΊβααΆβα’αααααβαα½αβαααααΆααβα’αααβα
αΆααααααΎαβααααΌα - ααααΆααααβααΎααααΈβαααβααΈβααααβααααΎβααΏαβααΌαααααΆαβααΈβααααΌαα
α αΎαααααα - αααααΆααα’αααααααααααααα·ααΈααααα·αααααα - ααααΆααααααααΎα±αααα½αααααΎα ααααα·α α
1. αααααααααααΌααααα»α JS?
αααα»αααΆααααααΆααΆααΆαααααααααΆαα αα
ααΆααααααΌαααααααααααΆαααααααααααααααΆααΆααΆαα»ααα·αα αααααΎαααΆαααααΆααααΎ JavaScript αααααααΆααααααα αΆααααααΆαααααααΆαααααα»αααΊαααααΎααααααα·ααΈαα
αααα»α ReactNative α αααα»αα
αΆααααααΎαααΆαα½α
2. ααΎααααΎααΌα
ααααα
ααΎααααΈα
α»αααααα bot?
αααβααΆαβαα½αβαααα»αβα
αααΎαβαα
βααΎαβααααΌα
3. ααΎααΌα bot ααΎααα
ααΌα
α’αααΈ?
αααααΆααααΈαα·ααααΆα’αααααα’ααααααααααΆααΌα αααα»αααΆαααΉαααΆααΆααΆαααααααααα»αααΆαααααΎαααααΆααααααααααα½αα
ααα½α (ααΌαααΆααΈααΈααΈαααα»ααααααααααΌαα»α) ααΎααααΈαα»αα±ααααΆαααΆαααΆααααα’αααΈααΆααα·ααααΆ Telegram API αα·αααΆααααααΎαααΌαααααΈααααΌαα αααα»αααΆαααααΎαααααααααα
3. αααααααααΎα cloud server ααααΆαααααα½αααααα’ααααααα»αααααα 100 rubles
αααααΆααααΈααΆααααααααααΆα αααΎααααα»αααΆαααΉαααΆααΆααααααααΆ 'npm' αα αααα»αααΌαααΆαααΆαααΎαααα αα ααΎαααααΆααααΆααααααααΆα αααααΆααααΆααααααααΆααΊαα αααααααΈαααααα ααα»ααααααΎααααΈα’αΆα ααααα·ααααα·ααΆααΆα α’αααααααΌαααα‘αΎα NodePackageManager α αααα αΆααΊααΆαααα»ααααα»αααααααααααα·ααΈαα ααΎ PixelBook ααΆαα½α ChromeOS α αααα»αααΉααααααα ααΈαααααΌααααα»ααααααα½αα’αααΈααααααααααα»αααΆααααααΈαα»α - αααααΆααααΆαα αααΎαααΆααα αα·ααα·αα αΆαααΆα αα ααααα·αααΎα’αααααΆα Windows α¬ MacBook α’αααααΆααα»αααΌααα½α α αΎαα
ααα»ααα αααα»αααΆαααα‘αΎα Linux ααΆαααα Cristiniα
ααααααΆαααΆααααα αα
αααα»αααααΎαααΆαααα αααα»αααΆαααΉαααΆααΎααααΈα±αα bot ααααΎαααΆαααΆαα·α
αα
(α αΎααα·αααααΉααααα
αααααααα»αααααΌααααααααααα»αααΎααα) αααα»αααααΌαααΆααααΆαααΈααααααα αααα»αααΆαααααΎαααΎα
4. αααααααα
α server ααΎααααΈααααΎαααΆα bot
αααααΆααααΈααααα αααα»αααΆαααΉαααΆ αααα»αααααΌαααΆααααααΎα folder αα½αα ααα½ααα ααΎ server ααααααα»αααΉαααΆαα file ααΆαα½αα’αααααααΌαα ααΎααααΈααααΎααΌα ααααα αααα»ααα»αααΌα (ααααΎαααΆααααααααΆαααα ααΎααα αααααααΆαααααααΌαα»α "ααΎααα»αααΌα") αααα»αααΆααααα αΌα
mkdir bot
bot - ααΆααΆαααααΆαααΆααααααααααααααααα»αα αααααΆααααΈααα αααα»αααΆαααα‘αΎα npm αα·α Node.js αααααΉαα’αα»ααααΆαα±αααααα»αααααΎαααΆαααΌαααΈα―αααΆαααΆαα½αααΉααα»αααΆααααα αΆα *.js
sudo apt update
sudo apt install nodejs
sudo apt install npm
αααα»αααΌααααααα’αα»ααΆααααααΆαααααΆααα±ααααα‘αΎαααΆααααααΆαααα
αααΆαααΈαααααΆαααααα»αααΌαααααα’ααααα
ααααΆααααΆααααα αα
ααΈααα
5. αααααααααααΌααααααΆαα bot ααααΌαααααα’αααα
ααα»ααααα₯α‘αΌαααα ααΆααααΆααααααΆααΆαααααΎααααααΆαααααα»αααα»αααααα αααααα·ααΈααΆαα½αααααΆααααααΆαααααΆααααα’αααααα αα½αααΆα’αΆα
αααα
αΌαααΆααααααααΈαααααα αααααΆαα»αααΆαα½αααααααααααααααα
ααααΆα α αΎααααααΆααΆα α’αααβαα·αααΆβαααααβααα’αΆαα αααα»αααΆαααααΎ
αααα»αααΆααααααΎαα―αααΆαααααΈαα½α ααααααα»αααΆααααα αΌαααΌαααΈα§ααΆα ααααα ααΎααααα 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. αααααααα αΌαααΌααα ααΆαα server ααΆαααα github
α₯α‘αΌαβαααβαααα»αβααααΌαβααΆαβααΌα
ααααα
βααΎααααΈβαααα»αβα‘αΎαβααΌαβαααβαα
βαααΆαααΈαβαααααΎβα αΎαβαααβααΆβα αααααΆαααααΆαααΆαααα αΆααααααααααΆαααααα»αα ααΆαααααα αααααΆααααΈααΆααααα αΆααΆα
αααΎα αααα»αααΆαααΉαααΆααΆααΉαααΆααααααΆααααα½ααααα»αααΆααααααΎαα―αααΆααα
ααΎ github αααα’αα»ααααΆαα±ααα’αααααααΎαα
αα
α»ααααααααΆαααΌααααααααΎααΆααααααααΆαα
αααα»ααα»αααΌαα αααα»αααΆαα
α»ααααααααααΈαα
ααΎ
7. αααααααα»αα―αααΆααα ααΆαα server ααΆαααα github part 2
αααα»αααααΌαααα‘αΎααααααα·ααΈαα ααΎ server αααααΉαααΆαααα―αααΆαααΈ git α αααα»αααΆαααα‘αΎα git αα ααΎ server αααααΆαα αΌααα αααα»ααα»αααΌαα
apt-get install git
αααααΆααααΈααααααα»αααααΌαααααααα ααΆααααααααααΆααααα ααα―αααΆαα ααΎααααΈααααΎααΌα αααααααα»αααΆαααΆααααα αΌααα αααα»ααααααΆααααΆααααααααΆ
git clone git://github.com/b0tank/bot.git bot
ααΆαααααα α’αααΈααααααααΆαααΈααααααααααΌαααΆααααα»αα‘αΎααα ααΆαααααΆαααΈαααα ααα α»ααα ααααΆααααΆααααααΊααΆαααα»αααΆααααααΎαααααΈααΈααα αααα»αααα―αααΆααααααΆαααααΆαααα½α α αΎαα α’αΆααααααΆααα α―αααΆαααΎααα ααΌα ααΆ */bot/bot/index.js
αααα»αααΆααααααα α α·ααααα·αα’αΎααΎααΉααααα αΆαααα
α αΎαααΎααααΈαααα»ααααααΆααα telegraf αααααΎαααααΎαα»ααααα»ααα½αααΈαα½αααααΌα ααΌαααΆαααΆααααααααΆαα αααα»ααα»αααΌαα
npm install telegraf
8. ααααααΎαααααΎαααΆα bot
ααΎααααΈααααΎααΌα
αααααααααααααα
αααα»αααααΆαα½αα―αααΆα (ααΎααααΈααααΆααααΈααΈαααα½ααα
ααααΆαααααα»αααΌαααΌαααααΎαααΆαααΆααααααααΆαααααααααΆα cd bot
ααΎααααΈααααΆααααΆα’αααααΆαααααααααα’αααααααΌααα
α’αααα’αΆα
αααα
αΌαααΆααααααααΆαααααΉααααα αΆααα
αααα»ααα»αααΌαααΌαα―αααΆα αα·αααα―αααΆαααΆααα’αααααααΆααα
ααΈαααα ls -a
ααΎααααΈα αΆααααααΎα αααα»αααΆαα αΌααα αααα»ααα»αααΌαα
node index.js
ααααα·αααΎαα·αααΆαααα α»αα’αααΈααΆααα’ααααΊααα’ bot αααα»αααααΎαααΆαα ααααΎαααΆααααΆαααα‘αααααΆαα ααααα·αααΎααΆαααα α»αααΌαα’αα»ααααα ααααααΉαααααα’αααααΈα ααα»α 1 α
9. ααααααααΎαααΆα bot αααα»αααααααΆαααααα
αααΆαβααΆααβαα αα α’αααβααΉαβααΉαβααΆ bot ααααΎαααΆαβααβαα βαααβα’αααβαααα½αβα―αβαααα»αβα’αααα»αβαααα»αβαα»αααΌαβααα»αααααα ααΎααααΈαααααααΆααααα αΆααααααα»αααΆαααααΎααΆααααααααΆ
screen
αααααΆααααΈααα α’αααααααααααΆαα’ααααααα½αα
ααα½αααΉααααα αΆαα‘αΎαα αααααΆααααααΆα’αααΈαααΊααα’α α’ααααα
ααΎαααΆαααΈααααα·αααα·ααα
ααΎαααΆαααΈααααααα ααΎααααΈαααααΆααααα
αααΆααα’αααΈαααααααααΆααααΎαααΆαααΆααα’αα -
node index.js
10. ααααααα bot ααααΎαααΆα αα·ααααααααααΈααα»αααΆαααααααΆα
ααΎ bot ααααΌααααααΎαα’αΆα ααααΎα’αααΈααΆα? ααΆααβα’αΆα
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 ααααΆα ααααααα»αααΆαα’αα»ααααΆαα±ααα αΌαααααΎ bot α αα½αααααΆααααα αΌαααααΈα’αααααααΎααααΆαααααααα½αααα αααα»αβαα·αβααΆβααΆβααΆαβαααα½αβαααα»αβααΆαβααααΆααβααΆβαααααβααΆβααααΌαβααΆαβαααααΎαβα‘αΎαβαααβαα½αβααα
ααΆα§ααΆα ααα ααΆα "Jake" ααΉαααα½αααΆα GIF αααααΆααα½α’ααααααααααΈααααΆαααΈαα»αααααΆ Adventure Time α
ααΎααααΈα’αα·αααα bot ααααααααα α’αααααααΌαααααΆααααααΆαα
α»α
ααΎαα§ααΆα ααα α§ααΆα ααα
11. ααααα’αΆαααααααΌα αα·αα αΆααααααΎα bot α‘αΎααα·α
αα»αααααα ααΆα’αααααααΌαα’αΆαααααααΌααα·αααααΉααααα ααΎ github ααα»ααααααα αααααΆαααα ααΎ server αααααα ααΆααΆααααα½αααααΎ - αααααα bot (α α»α ctrl + c),
- α
αΌααα
αααα»ααα»αααΌαααααααααααα
αααα»αααααααα
, git pull
- ααΎαααΎαααααΎαααΆαααΌαααααααααααααααΎααΆααααααααΆ node index.js
END
α’αααΈαααΆα αααΎααααααΆααα·αααααΆαα αααα»αα―αααΆααααααΉαααΆαααΆαα αααΆααααΆααα ααααα’αααααααααααααα·ααΈααααα·ααααααα αααααΆαααΆαααΆααααα αα αααααααααα½ααααα»αααααΆααααΆαααααΆααΆααααααΈααΎααααααα ααΆαααα·αααα bots αα½αααααα ααα αααα»ααα·αααΆααααΆαααΆαααααΆαααααααα ααααα»αααααααααααα·αααΉαα’αααΈαααααΆααααααα αα·αααΆαααααααααΆααα’αααααααΆα IT ααΆαα½αα
αα
αααα’ααΆαα αααα»ααααααααΉααααααΆαα’αααΈαααααααααΎααααααα·ααΈααααΌαααααα’ααααα
ααΎ ReactNative αααα»ααα
ααΆαααααααΌα
ααααΆ ααΌαααΆα!
ααααα: www.habr.com