рдореА рддреАрди рдЖрдард╡рдбреНрдпрд╛рдВрдкреВрд░реНрд╡реАрдЪ рдЖрдпрдЯреАрдЪреНрдпрд╛ рдЬрдЧрд╛рдд рд░рдорд╛рдпрд▓рд╛ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА. рдЧрдВрднреАрд░рдкрдгреЗ, рддреАрди рдЖрдард╡рдбреНрдпрд╛рдВрдкреВрд░реНрд╡реА рдорд▓рд╛ рдПрдЪрдЯреАрдПрдордПрд▓ рд╕рд┐рдВрдЯреЕрдХреНрд╕ рджреЗрдЦреАрд▓ рд╕рдордЬрд▓реЗ рдирд╛рд╣реА, рдЖрдгрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдЪрд╛ рдорд╛рдЭрд╛ рдкрд░рд┐рдЪрдп 10 рд╡рд░реНрд╖рд╛рдВрдкреВрд░реНрд╡реА рдкрд╛рд╕реНрдХрд▓рд╡рд░реАрд▓ рд╢рд╛рд▓реЗрдп рдЕрднреНрдпрд╛рд╕рдХреНрд░рдорд╛рдиреЗ рд╕рдВрдкрд▓рд╛. рддрдерд╛рдкрд┐, рдореА рдЖрдпрдЯреА рд╢рд┐рдмрд┐рд░рд╛рдд рдЬрд╛рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛, рдЬрд┐рдереЗ рдореБрд▓рд╛рдВрд╕рд╛рдареА рдмреЙрдЯ рдмрдирд╡рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рд╣реЛрдИрд▓. рдореА рдард░рд╡рд▓реЗ рдХреА рддреЗ рдХрдареАрдгрдЪ рдЖрд╣реЗ.
рд╣рд╛ рдПрдХ рд▓рд╛рдВрдм рдкреНрд░рд╡рд╛рд╕ рд╕реБрд░реВ рдЭрд╛рд▓рд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рдореА:
- рдЙрдмрдВрдЯреВрд╕рд╣ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡реНрд╣рд░ рддреИрдирд╛рдд рдХреЗрд▓реЗ,
- GitHub рд╡рд░ рдиреЛрдВрджрдгреАрдХреГрдд,
- рдореВрд▓рднреВрдд JavaScript рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╢рд┐рдХрд▓реЛ,
- рдЗрдВрдЧреНрд░рдЬреА рдЖрдгрд┐ рд░рд╢рд┐рдпрди рднрд╛рд╖реЗрдд рдПрдХ рдЯрди рд▓реЗрдЦ рд╡рд╛рдЪрд╛,
- рд╢реЗрд╡рдЯреА рдПрдХ рдмреЙрдЯ рдмрдирд╡рд▓рд╛,
- рдореА рд╢реЗрд╡рдЯреА рд╣рд╛ рд▓реЗрдЦ рд▓рд┐рд╣рд┐рд▓рд╛.
рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕рд▓реЗ:
рдореА рд▓рдЧреЗрдЪ рдореНрд╣рдгреЗрди рдХреА рд╣рд╛ рд▓реЗрдЦ рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА рдЖрд╣реЗ - рдлрдХреНрдд рд╕реБрд░реБрд╡рд╛рддреАрдкрд╛рд╕реВрди рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреА рдХрд╢рд╛ рдХрд░рд╛рдпрдЪреНрдпрд╛ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА.
рдЖрдгрд┐ рджреЗрдЦреАрд▓ - рдкреНрд░рдЧрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА - рдлрдХреНрдд рддреНрдпрд╛рдВрдирд╛ рдереЛрдбреЗ рд╣рд╕рд╡рдгреНрдпрд╛рд╕рд╛рдареА.
1. JS рдордзреНрдпреЗ рдХреЛрдб рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛?
рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рдкреНрд░рдердо рднрд╛рд╖реЗрдЪреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╕рдордЬреВрди рдШреЗрдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ. рдирд┐рд╡рдб JavaScript рд╡рд░ рдкрдбрд▓реА, рдлрдХреНрдд рдХрд╛рд░рдг рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рдкреБрдврдЪреА рдкрд╛рдпрд░реА рдореНрд╣рдгрдЬреЗ ReactNative рдордзреНрдпреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рдгреЗ. рдореА рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА
2. рдмреЙрдЯрдЪреА рдиреЛрдВрджрдгреА рдХрд╢реА рдХрд░рд╛рд╡реА?
рдпрд╛рдЪрд╛ рдорд▓рд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЦреВрдк рдлрд╛рдпрджрд╛ рдЭрд╛рд▓рд╛
3. рдмреЙрдЯ рдХреЛрдб рдХрд╕рд╛ рджрд┐рд╕рддреЛ?
рд▓реЗрдЦрд╛рдВрдЪрд╛ рдмрд░рд╛рдЪ рдХрд╛рд│ рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓реНрдпрд╛рд╡рд░, рдорд▓рд╛ рдЬрд╛рдгрд╡рд▓реЗ рдХреА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд▓рд╛рдпрдмреНрд░рд░реА (рдореЙрдбреНрдпреВрд▓ рд╕реНрд╡рд░реВрдкрд╛рдд рддреГрддреАрдп-рдкрдХреНрд╖ рдХреЛрдб) рд╡рд╛рдкрд░рдгреЗ рдлрд╛рдпрджреЗрд╢реАрд░ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдЯреЗрд▓реАрдЧреНрд░рд╛рдо API рдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд╕реБрд░рд╡рд╛рддреАрдкрд╛рд╕реВрди рдХреЛрдбрдЪреЗ рдореЛрдареЗ рддреБрдХрдбреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА. рдорд▓рд╛ рдЪреМрдХрдЯ рд╕рд╛рдкрдбрд▓реА
3. 100 рд░реВрдмрд▓рд╕рд╛рдареА рдЖрдкрд▓рд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡реНрд╣рд░ рдХрд╕рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛
рдЦреВрдк рд╢реЛрдз рдШреЗрддрд▓реНрдпрд╛рдирдВрддрд░ рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рд╡рд░реАрд▓ рдЪрд┐рддреНрд░рд╛рддреАрд▓ 'npm' рдХрдорд╛рдВрдб рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирдЪрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ. рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕рд░реНрд╡рддреНрд░ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ NodePackageManager рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕рдорд╕реНрдпрд╛ рдЕрд╢реА рд╣реЛрддреА рдХреА рдореА ChromeOS рд╕рд╣ PixelBook рд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд░рдд рд╣реЛрддреЛ. рдореА рд▓рд┐рдирдХреНрд╕ рдХрд╕рд╛ рд╢рд┐рдХрд▓реЛ рдпрд╛рдмрджреНрджрд▓рдЪрд╛ рдПрдХ рдореЛрдард╛ рдмреНрд▓реЙрдХ рдореА рдпреЗрдереЗ рд╡рдЧрд│рдгрд╛рд░ рдЖрд╣реЗ - рдмрд╣реБрддреЗрдХрд╛рдВрд╕рд╛рдареА рддреЗ рд░рд┐рдХреНрдд рдЖрдгрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддреБрдордЪреНрдпрд╛рдХрдбреЗ Windows рдХрд┐рдВрд╡рд╛ MacBook рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдХрдиреНрд╕реЛрд▓ рдЖрд╣реЗ.
рдереЛрдбрдХреНрдпрд╛рдд, рдореА Crostini рджреНрд╡рд╛рд░реЗ рд▓рд┐рдирдХреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ.
рддрдерд╛рдкрд┐, рдкреНрд░рдХреНрд░рд┐рдпреЗрдд, рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рдмреЙрдЯ рд╕рддрдд рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдЖрдгрд┐ рдХреЗрд╡рд│ рдорд╛рдЭрд╛ рд╕рдВрдЧрдгрдХ рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛рдЪ рдирд╛рд╣реА), рдорд▓рд╛ рдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡реНрд╣рд░рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рдореА рдирд┐рд╡рдбрд▓реЗ
4. рдмреЙрдЯ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд░реНрд╡реНрд╣рд░ рдХрд╕рд╛ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪрд╛
рддреНрдпрд╛рдирдВрддрд░, рдорд▓рд╛ рдЬрд╛рдгрд╡рд▓реЗ рдХреА рдорд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдПрдХ рдкреНрд░рдХрд╛рд░рдЪреЗ рдлреЛрд▓реНрдбрд░ рдмрдирд╡рд╛рдпрдЪреЗ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдореА рдХреЛрдб рдордЬрдХреВрд░ рдЕрд╕рд▓реЗрд▓реА рдлрд╛рдЗрд▓ рдареЗрд╡реВ. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ (тАЬрдУрдкрди рдХрдиреНрд╕реЛрд▓тАЭ рдмрдЯрдгрд╛рджреНрд╡рд╛рд░реЗ рдереЗрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯрд╡рд░ рдЪрд╛рд▓рд╡рд╛), рдореА рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ
mkdir 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 рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреЛрдб рдХрд╕рд╛ рдЕрдкрд▓реЛрдб рдХрд░рд╛рдпрдЪрд╛
рдЖрддрд╛ рдорд▓рд╛ рд╣рд╛ рдХреЛрдб рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЕрдкрд▓реЛрдб рдХрд░реВрди рдЪрд╛рд▓рд╡рд╛рдпрдЪрд╛ рд╣реЛрддрд╛. рд╣реЗ рдорд╛рдЭреНрдпрд╛рд╕рд╛рдареА рдЖрд╡реНрд╣рд╛рди рдмрдирд▓реЗ. рдкрд░рд┐рдгрд╛рдореА, рдмрд░реНтАНрдпрд╛рдЪ рдкрд░реАрдХреНрд╖рд╛рдВрдирдВрддрд░, рдорд▓рд╛ рд╕рдордЬрд▓реЗ рдХреА рдЧрд┐рдердмрд╡рд░ рдлрд╛рдИрд▓ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓ рдЬреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрдиреНрд╕реЛрд▓рдордзреАрд▓ рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рдХреЛрдб рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдореА рд╡рд░ рдЦрд╛рддреЗ рдиреЛрдВрджрдгреАрдХреГрдд рдХреЗрд▓реЗ
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
рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдордЬрдХреБрд░рд╛рдЪреНрдпрд╛ рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлреЛрдЯреЛ рдХрд┐рдВрд╡рд╛ GIF рдкрд╛рдард╡рд┐рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.
рдХреЛрдбрдЪрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧ 11-13 рд╡рдпреЛрдЧрдЯрд╛рддреАрд▓ рдореБрд▓рд╛рдВрдиреА рд▓рд┐рд╣рд┐рд▓рд╛ рд╣реЛрддрд╛, рдЬреНрдпрд╛рдВрдирд╛ рдореА рдмреЙрдЯрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рджрд┐рд▓рд╛ рд╣реЛрддрд╛. рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛-рдХреЗрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓рд╛. рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рддреНрдпрд╛рдВрдиреА рдХреЛрдгрддрд╛ рднрд╛рдЧ рдмрдирд╡рд▓рд╛ рдЖрд╣реЗ рд╣реЗ рд╕рд╛рдВрдЧрдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ.
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "рдЬреЗрдХ" рд╕рдВрджреЗрд╢рд╛рд▓рд╛ рдХрд╛рд░реНрдЯреВрди рдЕреЕрдбрд╡реНрд╣реЗрдВрдЪрд░ рдЯрд╛рдЗрдордордзреАрд▓ рдкреНрд░рд╕рд┐рджреНрдз рдкрд╛рддреНрд░рд╛рд╕рд╣ GIF рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓.
рдмреЙрдЯ рдкреБрдвреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреАрдмреЛрд░реНрдб рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгреЗ рдкрд╣рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде,
11. рдХреЛрдб рдХрд╕рд╛ рдЕрдкрдбреЗрдЯ рдХрд░рд╛рдпрдЪрд╛ рдЖрдгрд┐ рдмреЙрдЯ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд╕рд╛ рдХрд░рд╛рдпрдЪрд╛
рд╣реЗ рд╡рд┐рд╕рд░реВ рдирдХрд╛ рдХреА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХреЛрдб рдХреЗрд╡рд│ рдЧрд┐рдердмрд╡рд░рдЪ рдирд╡реНрд╣реЗ рддрд░ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рджреЗрдЦреАрд▓ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╣реЗ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ - рдмреЙрдЯ рдерд╛рдВрдмрд╡рд╛ (ctrl+c рджрд╛рдмрд╛),
- рд▓рдХреНрд╖реНрдп рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдЕрд╕рддрд╛рдирд╛ рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рд╛, git pull
- рдЖрдореНрд╣реА рдХрдорд╛рдВрдбрд╕рд╣ рдмреЙрдЯ рдкреБрдиреНрд╣рд╛ рд▓реЙрдиреНрдЪ рдХрд░рддреЛ node index.js
END
рдпрд╛ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рдмрд░реНтАНрдпрд╛рдЪ рдЧреЛрд╖реНрдЯреА рдкреНрд░рдЧрдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рдЕрдЧрджреА рд╕реНрдкрд╖реНрдЯ рдЕрд╕рддреАрд▓. рддрдерд╛рдкрд┐, рдЬреЗрд╡реНрд╣рд╛ рдореА рд╕реНрд╡рддрдГ рдмреЙрдЯреНрд╕рдЪреНрдпрд╛ рджреБрдирд┐рдпреЗрдд рдПрдХрд╛ рдЭрдЯрдХреНрдпрд╛рдд рдЙрдбреА рдорд╛рд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛, рддреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рдЦрд░реЛрдЦрд░рдЪ рдЕрд╢рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХрд╛рдЪреА рдЙрдгреАрд╡ рднрд╛рд╕рд▓реА. рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЬреЛ рдХреЛрдгрддреНрдпрд╛рд╣реА IT рддрдЬреНрдЮрд╛рд╕рд╛рдареА рд╕реНрдкрд╖реНрдЯ рдЖрдгрд┐ рд╕реЛрдкреНрдпрд╛ рдЧреЛрд╖реНрдЯреА рдЪреБрдХрд╡рдд рдирд╛рд╣реА.
рднрд╡рд┐рд╖реНрдпрд╛рдд, рдореА рддреБрдордЪрд╛ рдкрд╣рд┐рд▓рд╛ рдЕрд░реНрдЬ ReactNative рд╡рд░ рддреНрдпрд╛рдЪ рд╢реИрд▓реАрдд рдХрд╕рд╛ рдмрдирд╡рд╛рдпрдЪрд╛ рдпрд╛рдмрджреНрджрд▓ рдПрдХ рдкреЛрд╕реНрдЯ рдкреНрд▓реЕрди рдХрд░рдд рдЖрд╣реЗ, рд╕рджрд╕реНрдпрддрд╛ рдШреНрдпрд╛!
рд╕реНрддреНрд░реЛрдд: www.habr.com