Androany, avy amin'ny akora sisa tavela no hivondronantsika https://api.telegram.org/
. Eny, tsy hanao izahay - tsia, tsia. Rehefa dinihina tokoa, ao amin`ny kitaponay misy ny antsoina hoe. webhooks β miaraka amin'ny fanampian'izy ireo, tsy manao fangatahana amin'ny adiresy manokana izahay, fa mandefa fotsiny ny fangatahanay ho valin'ny fangatahana rehetra aminay. Izany hoe, toy ny any Odessa, mamaly fanontaniana amin'ny fanontaniana. Izany no antony Telegram API dia tsy hiseho ao amin'ny kaodinay.
DisclaimerNy anaran'ny fikambanam-panjakana rehetra voalaza ato amin'ity lahatsoratra ity dia foronina, ary mety ho fifanandrifian-javatra miaraka amin'ny anaran'ny fikambanana tena misy.
Noho izany, hanao bot isika izay hanome antsika eritreritra marani-tsaina. Tahaka ny amin'ny sary:
Azonao atao ny manandrana azy amin'ny hetsika - ity ny anarana: @SmartThoughtsBot. Voamarika ny bokotra "Ny fahaizan'i Alice"? Izany dia satria ny bot dia karazana "mpiara-dia" ho an'ny bot mitovy anarana. Ny fahaizan'i Alice, i.e. dia manao asa mitovy amin'ny Ny fahaizan'i Alice ary azo inoana fa afaka miara-miaina am-pilaminana izy ireo amin'ny fifampiraharahana. Momba ny fomba famoronana fahaizana Smart Thoughts voalaza ao aminβilay lahatsoratra
Mamorona bot
Tiako ho mahasoa ny rehetra ity fampianarana ity, anisan'izany. ary mpamorona bot vaovao. Noho izany, amin'ity fizarana ity dia hamariparitra amin'ny antsipiriany ny fomba hamoronana amin'ny ankapobeny telegramasy bots. Ho an'ireo izay tsy mila izany fampahalalana izany dia mandehana amin'ireto fizarana manaraka ireto.
Sokafy ny fampiharana Telegaram, andao hiantso ny rain'ny bots rehetra (manana ny zava-drehetra toy ny olona izy ireo) - @BotFather - ary homentsika azy ny baiko /help aloha mba hamelombelona ny fitadidiany ny zavatra azontsika atao. Ankehitriny isika dia ho liana amin'ny ekipa / newbot.
Koa satria efa noforonina ilay bot voalaza eto, dia hamorona bot hafa indray aho mandritra ny fotoana fohy (ary mamafa azy avy eo). Hantsoiko izy DemoHabrBot. Anarana (Anaran'ny mpampiasa) amin'ny bots telegrama rehetra dia tsy maintsy mifarana amin'ny teny Bot, ohatra: MyCoolBot na my_cool_bot - ho an'ny bots ity. Fa omena anarana aloha ilay bot (anarana) - ary ho an'ny olona izany. Ny anarana dia mety amin'ny fiteny rehetra, misy habaka, ary tsy mila mifarana amin'ny teny iray Bot, ary tsy voatery ho tokana akory. Amin'ity ohatra ity dia niantso ity bot ity aho Demo Habr.
Misafidiana anarana ho an'ny bot (Anaran'ny mpampiasa, ny iray ho an'ny bots). Andeha isika hiantso azy DemoHabrBot. Ny zava-drehetra mifandraika amin'ny anaran'ny bot (anarana) tsy misy ifandraisany amin'ny anarany mihitsy - Anaran'ny mpampiasa (na mihatra, fa ny mifanohitra amin'izany). Rehefa nahavita namorona anarana bot tsy manam-paharoa isika dia mila mandika sy mitahiry (amin'ny fahatokisana henjana indrindra!) Ny famantarana aseho amin'ny pikantsary miaraka amin'ny zana-tsipìka mena. Miaraka amin'ny fanampiany dia hametraka ny niandohany isika any aoriana telegrama'webhook ho antsika Yandex asa.
Andeha isika hanome baiko ny rain'ny bots rehetra: /mybots, ary hampiseho antsika ny lisitry ny bots noforoninay. Aleo avela irery aloha ilay bota vao masaka Demo Habr (namorona azy io mba hampisehoana ny fomba hamoronana bots, fa hampiasa azy io koa isika anio ho an'ny tanjona fihetsiketsehana hafa), ary andao hojerentsika ny bot Smart Thoughts (@SmartThoughtsBot). Kitiho ny bokotra misy ny anarany ao amin'ny lisitry ny bots.
Eto isika dia afaka manamboatra ny bot. Amin'ny fanindriana ny bokotra Hanova ny ... Hiroso amin'ny fanitsiana iray na safidy hafa isika. Ohatra, amin'ny fipihana ny bokotra Hanova anarana afaka manova ny anaran'ny bot isika, lazao Smart Thoughts, manoratra Hevitra adala. Botpic - io no avatar'ny bot, tsy maintsy farafaharatsiny 150 x 150 px. Description - famaritana fohy izay hitan'ny mpampiasa rehefa sambany vao manomboka ny bot, ho valin'ny fanontaniana: Inona no azon'ity bot ity atao? About - famaritana fohy kokoa, izay ampitaina miaraka amin'ny rohy mankany amin'ny bot (https://t.me/SmartThoughtsBot
) na rehefa mijery vaovao momba izany.
Ny hany tsy maintsy ataontsika dia ny mametraka ny baiko. Mba hanaovana izany, tsindrio ny bokotra Ahitsio baiko. Mba hanara-penitra ny fanaon'ny mpampiasa telegrama manoro hevitra mampiasa baiko roa foana: /manomboka ΠΈ / Vonjeo, ary raha mila fanovana ny bot dia ampiasao ny baiko fanampiny /setting. Tsotra toy ny baolina ny bot ananay, ka tsy mila fanovana. Manoratra ny baiko roa voalohany izahay, izay hokarakarainay amin'ny code. Ankehitriny, raha miditra slash (marika slash: /) eo amin'ny sehatra fampidirana ny mpampiasa, dia hisy lisitry ny baiko hiseho ho an'ny fifantenana haingana. Ny zava-drehetra dia toy ny eo amin'ny sary: ββeo ankavia - mametraka baiko amin'ny alΓ lan'ny bot ray; eo ankavanana, ireo baiko ireo dia efa azon'ny mpampiasa ao amin'ny bot-nay.
Yandex asa
Efa noforonina izao ny bot-ntsika, andao handeha Yandex.Cloudmba hamoronana fiasa izay hanatanteraka ny kaodin'ny bot. Raha mbola tsy niara-niasa tamin'ny Yandex.Cloud mamaky ny fitaovana
Koa amin'ny console Yandex.Cloud ao amin'ny menio fitetezana havia dia fidio ilay entana Fomba amin'ny rahona, ary tsindrio ny bokotra Mamorona fiasa. Omentsika anarana sy famaritana fohy ho antsika izany.
Rehefa avy manindry ny bokotra mamorona ary rehefa afaka segondra vitsy, dia hiseho eo amin'ny lisitry ny asa rehetra ny fiasa vaovao. Kitiho ny anarany - hitondra antsika any amin'ny pejy izany topy maso ny asantsika. Eto ianao dia mila mamela (On) switch Asa ampahibemasomba ho azo idirana avy any ivelany (ho an'ny Yandex.Cloud) izao tontolo izao, ary ny hevitry ny saha Rohy antso ΠΈ Solon'anarana - Ataovy tsiambaratelo lalina amin'ny olon-drehetra izany afa-tsy ny tenanao sy Telegram, mba tsy hantsoin'ny mpisoloky isan-karazany ny asanao.
Ankehitriny, mampiasa ny menu havia, mandehana mankany Ilay mpanoratra asa. Aleo ajanona kely ny antsika Smart Thoughts, ary mamorona fiasa mΓ΄dely kely indrindra mba hijerena ny fiasan'ny bot-ntsika... Na izany aza, amin'ity toe-javatra ity, ity fiasa ity dia ny bot-ntsika... Raha fintinina, amin'izao fotoana izao ary eto dia hanao bot tsotra isika izay "hitaratra" ( izany hoe alefa miverina ) fangatahan'ny mpampiasa. Ity mΓ΄dely ity dia azo ampiasaina foana rehefa mamorona bots telegrama vaovao mba hahazoana antoka fa mifandray amin'ny Telegram'ohm miasa tsara. tsindrio Mamorona rakitra, andao hiantso azy index.js, ary amin'ny Internet Editor code apetaho amin'ity rakitra ity ity code manaraka ity:
module.exports.bot = async (event) => {
const body = JSON.parse(event.body);
const msg = {
'method': 'sendMessage',
'chat_id': body.message.chat.id,
'text': body.message.text
};
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': JSON.stringify(msg),
'isBase64Encoded': false
};
};
Ao amin'ny Yandex.Cloud console dia tokony ho toy izao izy io:
Asehoy eto ambany Toerana fidirana - index.botizay Fanondroana ity ny anaran'ny rakitra (index.js), ary Bot - anaran'ny asa (module.exports.bot). Avelao ho toy ny misy ny saha hafa rehetra, ary tsindrio ny bokotra eo amin'ny zoro havanana ambony Mamorona version. Ao anatin'ny segondra vitsy dia hoforonina ity dikan-teny ity. Fotoana fohy taorian'ny fitsapana webhook, hamorona dikan-teny vaovao isika β Smart Thoughts.
fitahirizana zavatra
Ankehitriny isika dia namorona Yandex asa, andao, raha mbola ao amin'ny console isika Yandex.Cloud, andao hamorona ilay antsoina hoe siny (siny, i.e. siny amin'ny teny rosiana, tsy fehezam-boninkazo mihitsy) ho fitehirizana rakitra sary izay hampiasaina ao amin'ny bot Smart Thoughts. Ao amin'ny menio navigateur ankavia fidio ny singa Toeram-piarovana, tsindrio ny bokotra Mamorona siny, manaova anarana ho azy, ohatra, img-bucket, ary indrindra indrindra, Vakio ny fidirana amin'ny zavatra Ampaham-bahoaka izany - raha tsy izany dia tsy hahita ny sarinay ny Telegram. Avelantsika tsy hiova ny sehatra hafa rehetra. Tsindrio ny bokotra Mamorona siny.
Aorian'io, mety ho toy izao ny lisitry ny siny rehetra (raha ity no siny tokana anao):
Izao aho dia manoro hevitra ny manindry ny anaran'ny siny ary mamorona lahatahiry ao anatiny mba handaminana ny fitahirizana sary ho an'ny fampiharana samihafa. Ohatra, ho an'ny bot telegrama Smart Thoughts Namorona lahatahiry iray antsoina hoe tg-bot-smart-thoughts (tsy misy, ho azoko ity code ity). Mamorona iray koa.
Azonao atao izao ny manindry ny anaran'ny lahatahiry, midira ao ary mampiditra rakitra:
Ary amin'ny fipihana ny anaran'ny rakitra - mahazo azy URL ampiasaina amin'ny bot, ary amin'ny ankapobeny - na aiza na aiza (fa aza avoaka ity URL tsy ilaina, satria ny fifamoivoizana avy fitahirizana zavatra voampanga).
Amin'ny ankapobeny dia izay ihany no ilaina fitahirizana zavatra. Ho fantatrao izao ny tokony hatao rehefa mahita bitsika hampiditra rakitra ao ianao.
Webhook
Ankehitriny dia hametraka webhook - i.e. rehefa mahazo fanavaozana (ohatra, hafatra avy amin'ny mpampiasa) avy amin'ny mpizara ny bot telegrama ho antsika Yandex asa hisy fangatahana halefa (fangatahana) miaraka amin'ny data. Ity misy andalana azonao apetaka fotsiny ao amin'ny sahan'ny adiresin'ny navigateur ary havaozy ny pejy (indray mandeha ihany no tsy maintsy ataonao): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Hosoloinay fotsiny {bot_token} amin'ny famantarana azonay avy amin'ny raim-pianakaviana bot rehefa namorona ny bot, ary {webhook_url} - on URL NY Yandex asa. Andraso vetivety! SAINGY RossKomTsenzur mandrara ny mpamatsy ao amin'ny Federasiona Rosiana tsy hanao ny adiresy https://api.telegram.org
. Eny marina izany. Fa tongava zavatra. Raha ny marina, azonao atao, ohatra, ny manontany ny renibenao momba izany any Ukraine, Israely na Kanada - tsy misy "Rosskomcensorship" any, ary Andriamanitra ihany no mahalala ny fomba fiainan'ny olona tsy misy izany. Vokatr'izany dia tokony ho toy izao ny valin'ny fangatahana rehefa mametraka webhook:
Mitsapa isika. Tokony "fitaratra".
Marina izany. Miarahaba antsika - izao Yandex asa lasa telegrama-bot!
Smart Thoughts
Andeha isika hanao Smart Thoughts. Misokatra ny kaody ary mipetraka eo
Clone ny tetikasa ary apetraho ny miankina:
git clone https://github.com/stmike/tg-bot-smart-thoughts.git
cd tg-bot-smart-thoughts
npm i
Ataovy ny fanovana ilainao amin'ny rakitra index.js (tsy voatery; tsy mila manova na inona na inona ianao). MANANGANA Zip-archive, misy rakitra index.js ary folder node_modules ao anatiny, ohatra, eo ambaninβny anarana smart.zip.
Mankanesa any amin'ny console mankany aminay Yandex asa, safidio ny tabilao ZIP archive, tsindrio ny bokotra Mifidiana rakitra, ary alaivo ny rakitray smart.zip. Farany, eo amin'ny zoro havanana ambony, tsindrio ny bokotra Mamorona version.
Ao anatin'ny segondra vitsy, rehefa havaozina ny fiasa, dia hitsapa ny bot indray izahay. Ankehitriny dia tsy "fitaratra" intsony izy, fa manome eritreritra marani-tsaina!
Izay ihany ny anio. Misy lahatsoratra hafa manaraka. Raha liana amin'ny famakiana ity ianao dia misoratra anarana amin'ny fampahafantarana momba ny lahatsoratra vaovao. Azonao atao ny misoratra anarana eto, na amin'ny telegrama-fantsona
soratra masina
FANOMEZANA
Source: www.habr.com