ç§ã IT ã®äžçã«ã©ã£ã·ããšæµžããå§ããã®ã¯ãããã 10 é±éåã§ãã æ£çŽãªãšãããXNUMX é±éåãç§ã¯ HTML æ§æããç解ããŠããŸããã§ãããç§ã®ããã°ã©ãã³ã°èšèªãžã®å ¥éã¯ãXNUMX 幎åã® Pascal ã«é¢ããåŠæ ¡ã«ãªãã¥ã©ã ã§çµãããŸããã ããããåã©ããã¡ã«ããããäœã£ãŠãããã®ã¯è¯ãã ãããšããããšã§ãITãã£ã³ãã«è¡ãããšã«ããŸããã ããã»ã©é£ããããšã§ã¯ãªããšå€æããŸããã
ããã«ãããç§ã¯æ¬¡ã®ãããªé·ãæ ãããããšã«ãªããŸããã
- Ubuntuã䜿çšããŠã¯ã©ãŠããµãŒããŒããããã€ãã
- GitHubã«ç»é²ãããŠããã
- åºæ¬ç㪠JavaScript æ§æãåŠç¿ãã
- è±èªãšãã·ã¢èªã®èšäºã倧éã«èªã¿ã
- ã€ãã«ããããäœããŸãã
- ãã£ãšãã®èšäºãæžããŸããã
æçµçãªçµæã¯æ¬¡ã®ããã«ãªããŸãã
ããã«èšã£ãŠãããŸãããããã¯åå¿è
åãã®èšäºã§ãããåºæ¬çãªããšãäžããè¡ãæ¹æ³ãç解ããããã®ãã®ã§ãã
ãŸããäžçŽããã°ã©ãã«ãšã£ãŠã¯ãå°ãç¬ãããããã§ããããŸãã
1. JS ã§ã³ãŒããèšè¿°ããã«ã¯ã©ãããã°ããã§ãã?
å°ãªããšããã®èšèªã®æ§æãæåã«ç解ããããšã¯äŸ¡å€ãããããšãç解ããŸããã ç§ã«ãšã£ãŠæ¬¡ã®ã¹ããã㯠ReactNative ã§ã¢ããªã±ãŒã·ã§ã³ãäœæããããšã§ãã£ããããéžæ㯠JavaScript ã«ãªããŸããã ç§ã¯ããå§ããŸãã
2. ããããç»é²ããã«ã¯ã©ãããã°ããã§ãã?
ããã¯æåã®ãã¡ã¯ãšãŠã圹ã«ç«ã¡ãŸãã
3. ãããã®ã³ãŒãã¯ã©ã®ãããªãã®ã§ãã?
é·ãéèšäºãèªãã åŸãTelegram API ãå匷ããŠå€§ããªã³ãŒããæåããäœæããããšãå¿é
ããå¿
èŠããªãããã«ãããçš®ã®ã©ã€ãã©ãª (ã¢ãžã¥ãŒã«åœ¢åŒã®ãµãŒãããŒã㣠ã³ãŒã) ã䜿çšãã䟡å€ãããããšã«æ°ã¥ããŸããã æ çµã¿ãèŠã€ãã
3. 100ã«ãŒãã«ã§ç¬èªã®ã¯ã©ãŠããµãŒããŒãäœæããæ¹æ³
ããããæ€çŽ¢ããçµæãäžã®å³ã®ãnpmãã³ãã³ããã³ãã³ã ã©ã€ã³ãæããŠããããšãããããŸããã ã³ãã³ã ã©ã€ã³ã¯ã©ãã«ã§ããããŸãããå®è¡ããã«ã¯ NodePackageManager ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã åé¡ã¯ãChromeOS ãæèŒãã PixelBook ã§ããã°ã©ãã³ã°ããŠããããšã§ããã ããã§ã¯ãç§ã Linux ãã©ã®ããã«åŠãã ãã«ã€ããŠã®å€§ããªãããã¯ãçç¥ããŸããã»ãšãã©ã®å Žåãããã¯ç©ºã§ãããäžèŠã§ãã Windows ãŸã㯠MacBook ããæã¡ã®å Žåã¯ããã§ã«ã³ã³ãœãŒã«ããæã¡ã§ãã
ç°¡åã«èšããšãCrostini çµç±ã§ Linux ãã€ã³ã¹ããŒã«ããŸããã
ãããããã®éçšã§ããããã (ã³ã³ãã¥ãŒã¿ãŒã®é»æºãå
¥ã£ãŠãããšãã ãã§ãªã) åžžæåäœããã«ã¯ãã¯ã©ãŠã ãµãŒããŒãå¿
èŠã§ããããšã«æ°ä»ããŸããã ç§ãéžãã
4. ããããå®è¡ããããã®ãµãŒããŒãæºåããæ¹æ³
ãã®åŸããµãŒããŒäžã«ã³ãŒã ããã¹ããå«ããã¡ã€ã«ã眮ãäœããã®ãã©ã«ããŒãäœæããå¿ èŠãããããšã«æ°ä»ããŸããã ãããè¡ãã«ã¯ãã³ã³ãœãŒã« (ãã³ã³ãœãŒã«ãéãããã¿ã³ã䜿çšã㊠Web ãµã€ãäžã§çŽæ¥å®è¡) ã§æ¬¡ã®ããã«å ¥åããŸããã
mkdir bot
bot - ãããç§ã®ãã©ã«ããŒã®ååã«ãªããŸããã ãã®åŸãnpm ãš Node.js ãã€ã³ã¹ããŒã«ããŸãããããã«ããã*.js 解å床ã®ãã¡ã€ã«ããã³ãŒããå®è¡ã§ããããã«ãªããŸãã
sudo apt update
sudo apt install nodejs
sudo apt install npm
ãã®æ®µéã§ã³ã³ãœãŒã«ãä»ããŠãµãŒããŒãžã®æ¥ç¶ãèšå®ããããšã匷ããå§ãããŸãã ãã
5. æåã®ãããã®ã³ãŒãã®æžãæ¹ã
ããããä»ã§ã¯ããã¯ç§ã«ãšã£ãŠåãªãçºèŠã§ãã ã©ã®ããã°ã©ã ãåãªãããã¹ãè¡ã§ãã ã©ãã«ã§ãæ¿å
¥ããå¿
èŠãªæ¡åŒµåãä»ããŠä¿åããã ãã§å®äºã§ãã ããªãã¯çŸããã§ãã ç§ã䜿çšãã
æ°ãããã¡ã€ã«ãäœæããããã« Telegraf ããŒãžã®äŸã®ã³ãŒããæ¿å ¥ããindex.js ãã¡ã€ã«ã«ä¿åããŸãã (éåžžããã¡ã€ã«ã«ãã®ãããªååãä»ããå¿ èŠã¯ãããŸããããããã¯æ £äŸã§ã)ã éèŠ - BOT_TOKEN ã®ä»£ããã«ãXNUMX çªç®ã®æ®µèœãã 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
ãã®çµæããããžã§ã¯ãã®ãã¹ãŠããµãŒããŒã«ã¢ããããŒããããŸããã ãã®æ®µéã§ã®ééãã¯ãåºæ¬çã«æ¢åã®ããã ãã©ã«ããŒå ã« XNUMX çªç®ã®ãã©ã«ããŒãäœæããããšã§ãã ãã¡ã€ã«ã®ã¢ãã¬ã¹ã¯ */bot/bot/index.js ã®ããã«ãªããŸããã
ç§ã¯ãã®åé¡ãç¡èŠããããšã«ããŸããã
ã³ãŒãã®æåã®è¡ã§èŠæ±ãã telegraf ã©ã€ãã©ãªãããŒãããã«ã¯ãã³ã³ãœãŒã«ã«ã³ãã³ããå ¥åããŸãã
npm install telegraf
8. ãããã®èµ·åæ¹æ³
ãããè¡ãã«ã¯ããã¡ã€ã«ã®ãããã©ã«ããŒå
㧠(ã³ã³ãœãŒã«çµç±ã§ãã©ã«ããŒéã移åããã«ã¯ãformat ã³ãã³ããå®è¡ããŸã) 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'))
æšæºã® /help ã³ãã³ãã«å¿çããŠããã¹ããã«ãŒãéã£ãŠãã ããããšããã¡ãã»ãŒãžãéä¿¡ããŸãã
bot.on('sticker', (ctx) => ctx.reply(''))
ã¹ããã«ãŒã«å¿çããŠæ¿èªãéä¿¡ãã
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
圌ãã圌ã«ãããã«ã¡ã¯ããšæžãããããããã«ã¡ã¯ããšçãã
bot.launch()
ã³ãŒããèŠããšã ctx.replyWithPhoto
ç¹å®ã®ããã¹ãã«å¿çããŠãæå®ããåçãŸã㯠GIF ãéä¿¡ã§ããŸãã
ã³ãŒãã®éèŠãªéšå㯠11 ïœ 13 æ³ã®åäŸãã¡ã«ãã£ãŠæžãããŠãããç§ã¯åœŒãã«ããããžã®ã¢ã¯ã»ã¹ãèš±å¯ããŸããã 圌ãã¯ãŠãŒã¶ãŒã±ãŒã¹ãå ¥åããŸããã ã©ã®éšåã圌ããäœã£ããã¯ç°¡åã«ããããšæããŸãã
ããšãã°ãã¡ãã»ãŒãžããžã§ã€ã¯ãã¯ã挫ç»ãã¢ããã³ãã£ãŒ ã¿ã€ã ãã®æåãªãã£ã©ã¯ã¿ãŒãå«ã GIF ãåãåããŸãã
ããããããã«éçºããã«ã¯ãããŒããŒããæ¥ç¶ããå¿
èŠããããŸããäŸãåç
§ããŠãã ããã
11. ã³ãŒããæŽæ°ããŠããããåèµ·åããæ¹æ³
Github ã ãã§ãªããµãŒããŒäžã®ã³ãŒããæŽæ°ããå¿ èŠãããããšãå¿ããªãã§ãã ããã ããã¯ç°¡åã§ã - ããããåæ¢ããŸã (Ctrl+C ãæŒããŸã)ã
- ã¿ãŒã²ãããã©ã«ããŒå
ã§ã³ã³ãœãŒã«ã«å
¥ããŸãã git pull
â 次ã®ã³ãã³ãã§ããããå床起åããŸã node index.js
çµãã
ãã®ãã¡ã€ã«ã«èšè¿°ãããŠããå 容ã®å€ãã¯ãäžçŽããã°ã©ãã«ãšã£ãŠã¯éåžžã«æçœã§ãã ããããç§èªèº«ããã£ãºã ãè¶ããŠäžæ°ã«ãããã®äžçã«é£ã³èŸŒãããšãããšãããã®ãããªæéãæ¬åœã«èŠéããŠããŸã£ãã®ã§ãã IT ã¹ãã·ã£ãªã¹ãã«ãšã£ãŠåœããåã®ããšãèŠéããªãã¬ã€ãã
å°æ¥çã«ã¯ãåãã¹ã¿ã€ã«ã§ ReactNative äžã§æåã®ã¢ããªã±ãŒã·ã§ã³ãäœæããæ¹æ³ã«ã€ããŠæçš¿ããäºå®ã§ãã賌èªããŠãã ãã!
åºæïŒ habr.com