గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

నేను మూడు వారాల క్రితమే ఐటీ ప్రపంచంలో మునిగిపోయాను. తీవ్రంగా, మూడు వారాల క్రితం నాకు HTML సింటాక్స్ కూడా అర్థం కాలేదు మరియు ప్రోగ్రామింగ్ భాషలకు నా పరిచయం 10 సంవత్సరాల క్రితం పాస్కల్‌లో పాఠశాల పాఠ్యాంశాలతో ముగిసింది. అయితే, నేను ఐటీ క్యాంపుకు వెళ్లాలని నిర్ణయించుకున్నాను, అక్కడ పిల్లలు బోట్ తయారు చేస్తే బాగుంటుంది. ఇది చాలా కష్టం కాదని నేను నిర్ణయించుకున్నాను.

ఇది సుదీర్ఘ ప్రయాణాన్ని ప్రారంభించింది, దీనిలో నేను:

  • ఉబుంటుతో క్లౌడ్ సర్వర్‌ని అమలు చేసింది,
  • GitHubలో నమోదు చేయబడింది,
  • ప్రాథమిక జావాస్క్రిప్ట్ సింటాక్స్ నేర్చుకున్నారు,
  • ఇంగ్లీష్ మరియు రష్యన్ భాషలలో టన్నుల వ్యాసాలను చదవండి,
  • చివరకు ఒక బోట్ తయారు చేసాడు,
  • చివరకు ఈ వ్యాసం రాశాను.

తుది ఫలితం ఇలా కనిపించింది:

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

ఇది ప్రారంభకులకు సంబంధించిన వ్యాసం అని నేను వెంటనే చెబుతాను - మొదటి నుండి ప్రాథమిక పనులను ఎలా చేయాలో అర్థం చేసుకోవడానికి.

మరియు - అధునాతన ప్రోగ్రామర్‌ల కోసం - వారిని కొద్దిగా నవ్వించడానికి.

1. JSలో కోడ్ రాయడం ఎలా?

భాష యొక్క వాక్యనిర్మాణాన్ని ముందుగా అర్థం చేసుకోవడం విలువైనదని నేను అర్థం చేసుకున్నాను. ఎంపిక జావాస్క్రిప్ట్‌పై పడింది, ఎందుకంటే నా తదుపరి దశ ReactNativeలో అప్లికేషన్‌ను సృష్టించడం. నేను ప్రారంభించాను కోర్సు కోడెకాడెమీలో మరియు చాలా ఆనందంగా ఉంది. మొదటి 7 రోజులు ఉచితం. నిజమైన ప్రాజెక్టులు. నేను సిఫార్సు చేస్తాను. పూర్తి చేయడానికి దాదాపు 25 గంటలు పట్టింది. నిజానికి, అవన్నీ ఉపయోగకరంగా లేవు. ఇది కోర్సు యొక్క నిర్మాణం మరియు మొదటి బ్లాక్ వివరంగా కనిపిస్తుంది.

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

2. బాట్‌ను ఎలా నమోదు చేయాలి?

ఇది ప్రారంభంలో నాకు చాలా సహాయపడింది ఈ వ్యాసం ఒక నిర్దిష్ట అర్చకోవ్ యొక్క బ్లాగ్ నుండి. అతను ప్రారంభంలోనే నమలాడు. కానీ ప్రధాన విషయం ఏమిటంటే బోట్‌ను నమోదు చేయడానికి సూచనలు. నేను దీన్ని బాగా వ్రాయలేను మరియు ఇది సులభమైన భాగం కాబట్టి, నేను సారాంశం వ్రాస్తాను. మీరు బోట్‌ను సృష్టించి, దాని APIని పొందాలి. ఇది మరొక బోట్ ద్వారా చేయబడుతుంది - @BotFather. టెలిగ్రామ్‌లో అతన్ని కనుగొని, అతనికి వ్రాయండి, సాధారణ మార్గాన్ని అనుసరించండి మరియు API కీని పొందండి (సేవ్ చేయండి!) (ఇది సంఖ్యలు మరియు అక్షరాల సమితి). ఇది తరువాత ఉపయోగపడింది.

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

3. బోట్ కోడ్ ఎలా ఉంటుంది?

చాలా కాలం పాటు కథనాలను అధ్యయనం చేసిన తర్వాత, టెలిగ్రామ్ APIని అధ్యయనం చేయడం మరియు మొదటి నుండి పెద్ద కోడ్ ముక్కలను సృష్టించడం గురించి ఆందోళన చెందనవసరం లేకుండా ఒక రకమైన లైబ్రరీని (మాడ్యూల్ ఫార్మాట్‌లో మూడవ పక్షం కోడ్) ఉపయోగించడం విలువైనదని నేను గ్రహించాను. నేను ఫ్రేమ్‌వర్క్‌ని కనుగొన్నాను టెలిగ్రాఫ్, ఇది npm లేదా నూలును ఉపయోగించి ఏదో ఒకవిధంగా కనెక్ట్ చేయబడాలి. బోట్ యొక్క విస్తరణ ఏమిటనేది నేను స్థూలంగా అర్థం చేసుకున్నాను. ఇక్కడ నవ్వండి. నేను బాధపడను. బాట్ యొక్క తదుపరి సృష్టి సమయంలో పేజీ దిగువన ఉన్న ఉదాహరణలు నాకు చాలా సహాయపడ్డాయి:

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

3. 100 రూబిళ్లు కోసం మీ స్వంత క్లౌడ్ సర్వర్‌ను ఎలా సృష్టించాలి

చాలా శోధించిన తర్వాత, పై చిత్రంలో ఉన్న 'npm' కమాండ్ కమాండ్ లైన్‌ను సూచిస్తుందని నేను గ్రహించాను. కమాండ్ లైన్ ప్రతిచోటా ఉంది, కానీ దాన్ని అమలు చేయడానికి, మీరు NodePackageManagerని ఇన్‌స్టాల్ చేయాలి. సమస్య ఏమిటంటే నేను ChromeOSతో PixelBookలో ప్రోగ్రామింగ్ చేస్తున్నాను. నేను Linux ఎలా నేర్చుకున్నాను అనే దాని గురించి పెద్ద బ్లాక్‌ని ఇక్కడ దాటవేస్తాను - చాలా వరకు ఇది ఖాళీ మరియు అనవసరం. మీకు Windows లేదా MacBook ఉంటే, మీకు ఇప్పటికే కన్సోల్ ఉంది.

క్లుప్తంగా, నేను క్రోస్టిని ద్వారా Linuxని ఇన్‌స్టాల్ చేసాను.

అయితే, ఈ ప్రక్రియలో, బోట్ నిరంతరం పని చేయడానికి (మరియు నా కంప్యూటర్ ఆన్‌లో ఉన్నప్పుడు మాత్రమే కాదు), నాకు క్లౌడ్ సర్వర్ అవసరమని నేను గ్రహించాను. నేను ఎంచుకున్నాను vscale.io నేను 100 రూబిళ్లు ఖర్చు చేసి చౌకైన ఉబుంటు సర్వర్‌ని కొనుగోలు చేసాను (చిత్రాన్ని చూడండి).

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

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 మరియు చేసాడు కొత్త ప్రాజెక్ట్, నేను ఫైల్‌ని ఎక్కడ అప్‌లోడ్ చేసాను. ఆ తర్వాత, బాట్ ఫోల్డర్‌లోని సర్వర్‌కి నా ఖాతా (ఓపెన్!) నుండి ఫైల్‌లను అప్‌లోడ్ చేయడాన్ని ఎలా సెటప్ చేయాలో నేను గుర్తించాల్సిన అవసరం ఉంది (మీరు అకస్మాత్తుగా దాన్ని వదిలేస్తే, cd బాట్ అని వ్రాయండి).

7. గిథబ్ పార్ట్ 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()

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

మీరు కోడ్‌ని పరిశీలిస్తే github, నేను ఈ ఫంక్షనాలిటీ నుండి చాలా దూరం వెళ్లలేదని మీరు త్వరగా అర్థం చేసుకుంటారు. చురుకుగా ఉపయోగించేది ఫంక్షన్ ctx.replyWithPhoto ఇది నిర్దిష్ట వచనానికి ప్రతిస్పందనగా పేర్కొన్న ఫోటో లేదా gifని పంపడానికి మిమ్మల్ని అనుమతిస్తుంది.

కోడ్ యొక్క ముఖ్యమైన భాగం 11-13 సంవత్సరాల వయస్సు గల పిల్లలచే వ్రాయబడింది, వీరికి నేను బాట్‌కు యాక్సెస్ ఇచ్చాను. వారు వారి వినియోగదారు కేసును నమోదు చేశారు. వాళ్ళు ఏ పార్ట్ చేసారో చెప్పడం తేలికే అనుకుంటాను.

ఉదాహరణకు, "జేక్" అనే సందేశం కార్టూన్ అడ్వెంచర్ టైమ్ నుండి ప్రసిద్ధ పాత్రతో GIFని అందుకుంటుంది.

గైడ్: ప్రోగ్రామింగ్‌లో అనుభవశూన్యుడు కోసం JSలో ఒక సాధారణ టెలిగ్రామ్ బాట్‌ను ఎలా తయారు చేయాలి

బాట్‌ను మరింత అభివృద్ధి చేయడానికి, మీరు కీబోర్డ్‌ను కనెక్ట్ చేయాలి, ఉదాహరణలను చూడండి, ఉదాహరణకు, ఇక్కడ నుండి

11. కోడ్‌ని ఎలా అప్‌డేట్ చేయాలి మరియు బాట్‌ను రీస్టార్ట్ చేయాలి

మీరు గిథబ్‌లో మాత్రమే కాకుండా సర్వర్‌లో కూడా కోడ్‌ను అప్‌డేట్ చేయాలని మర్చిపోవద్దు. దీన్ని చేయడం సులభం - బాట్‌ను ఆపండి (ctrl+c నొక్కండి),

- టార్గెట్ ఫోల్డర్‌లో ఉన్నప్పుడు కన్సోల్‌లోకి ప్రవేశించండి, git pull
— మేము కమాండ్‌తో మళ్లీ బోట్‌ను ప్రారంభిస్తాము node index.js

END

ఈ ఫైల్‌లో వివరించిన అనేక విషయాలు అధునాతన ప్రోగ్రామర్‌లకు చాలా స్పష్టంగా కనిపిస్తాయి. అయితే, నేనే అగాధం దాటి ఒక్కసారిగా బాట్‌ల ప్రపంచానికి వెళ్లడానికి ప్రయత్నించినప్పుడు, నేను నిజంగా అలాంటి గైడ్‌ను కోల్పోయాను. ఏ IT స్పెషలిస్ట్‌కైనా స్పష్టమైన మరియు సరళమైన విషయాలను మిస్ చేయని గైడ్.

భవిష్యత్తులో, అదే శైలిలో ReactNativeలో మీ మొదటి అప్లికేషన్‌ను ఎలా తయారు చేయాలనే దాని గురించి నేను పోస్ట్‌ను ప్లాన్ చేస్తున్నాను, సభ్యత్వం పొందండి!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి