Kajeno, ho tloha ho lisebelisoa tse lahliloeng, re tla bokana https://api.telegram.org/
. Che, ha re - che, che. Etsoe, ka mokotleng oa rona ho na le seo ho thoeng ke sona. li-webhooks - ka thuso ea bona, ha re etse likopo ho aterese e itseng, empa re romela kopo ea rona e le karabo ho kopo leha e le efe ho rona. Ke hore, joalo ka Odessa, re araba potso ka potso. Ke ka lebaka lena Telegram API e ke ke ea hlaha khoutu ea rona.
BoithorolloMabitso a mekhatlo leha e le efe ea 'muso e boletsoeng sehloohong sena ke tšōmo, 'me ho ka etsahala hore ebe a lumellana le mabitso a mekhatlo ea sebele e etsahetseng ka tšohanyetso.
Kahoo, re tla etsa bot e tla re fa menahano e bohlale. Hantle joalo ka setšoantšong:
U ka e leka ka ts'ebetso - lebitso ke lena: @SmartThoughtsBot. Ela hloko konopo "Tsebo ea Alice"? Sena ke hobane bot ke mofuta oa "molekane" bakeng sa bot ea lebitso le le leng. Tsebo ea Alice, ke. e etsa mesebetsi e tšoanang le Tsebo ea Alice ’me ho ka etsahala hore ebe ba tla khona ho phela hammoho ka khotso ka ho bapatsana. Mabapi le mokhoa oa ho bopa bokgoni Mehopolo e Bohlale e hlalositsoeng sehloohong sena
Ho theha bot
Ke kopa hore thuto ena e be molemo ho bohle, ho kenyeletsoa. le lihahi tsa li-novice bot. Ka hona, karolong ena ke tla hlalosa ka ho qaqileng mokhoa oa ho bopa ka kakaretso thelekramo'e bots. Bakeng sa ba sa hlokeng tlhahisoleseding ena, tsoela pele ho likarolo tse latelang.
Bula sesebelisoa Telegaram, a re bitse ntate oa bots bohle (ba na le ntho e 'ngoe le e' ngoe joaloka batho) - @BotFather - 'me pele re tla mo fa taelo ea ho thusa ho hopola seo re ka se etsang. Hona joale re tla thahasella sehlopha / newbot.
Kaha bot e hlalositsoeng mona e se e bōpiloe, molemong oa lipontšo ke tla etsa bot e 'ngoe ka nako e khutšoanyane (ebe ke e hlakola). Ke tla mo bitsa DemoHabrBot. Mabitso (mosebedisi) ea liboto tsohle tsa thelekramo e tlameha ho qetella ka lentsoe bot,mohlala: MyCoolBot kapa my_cool_bot - sena ke sa bots. Empa pele re fa bot lebitso (lebitso) - mme sena ke sa batho. Lebitso le ka ba ka puo efe kapa efe, la ba le libaka, 'me ha lea tlameha ho qetella ka lentsoe bot,, 'me ha ho hlokahale hore e be e ikhethang. Mohlala ona, ke bitsitse bot ena Demo Habr.
Joale khetha lebitso la bot (mosebedisi, ea bots). Ha re mo bitseng DemoHabrBot. Ntho e ngoe le e ngoe e amanang le lebitso la bot (lebitso) ha e amane le lebitso la hae ho hang - mosebedisi (kapa e sebetsa, empa e hlile e fapane). Ka mor'a ho atleha ho theha lebitso le ikhethang la bot, re hloka ho kopitsa le ho boloka (ka kholiseho e tiileng!) Letšoao le bontšitsoeng skrineng ka motsu o mofubelu. Ka thuso ea eona hamorao re tla theha ho tloha ho thelekramo'Mele oa rona Mosebetsi oa Yandex.
Joale a re faneng ka taelo ho ntate oa li-bots tsohle: /mybots, 'me e tla re bontša lethathamo la li-bots tsohle tseo re li entseng. Ha re tloheleng bot e sa tsoa behoa hajoale Demo Habr (e bōpiloe ho bontša mokhoa oa ho bopa bots, empa re tla boela re e sebelise kajeno bakeng sa merero e meng ea pontšo), 'me re shebe bot. Mehopolo e Bohlale (@SmartThoughtsBot). Tobetsa konopo e nang le lebitso la eona lethathamong la bots.
Mona re ka hlophisa bot ea rona. Ka ho tobetsa konopo Hlophisa… Re tla tsoela pele ho hlophisa khetho e le 'ngoe kapa e' ngoe. Ka mohlala, ka ho tobetsa konopo Fetola Lebitso re ka fetola lebitso la bot, ho e-na le hoo Mehopolo e Bohlale, ngola Mehopolo ya Mahlanya. Botpic - ena ke avatar ea bot, e tlameha ho ba bonyane 150 x 150 px. Tlhaloso - ena ke tlhaloso e khuts'oane eo mosebelisi a e bonang ha a qala bot ka lekhetlo la pele, e le karabo ea potso: Bot ee e ka etsa eng? About - tlhaloso e khuts'oane le ho feta, e fetisitsoeng ka sehokelo ho bot (https://t.me/SmartThoughtsBot
) kapa ha u sheba litaba ka eona.
Seo re lokelang ho se etsa feela ke ho theha litaelo. Ho etsa sena, tobetsa konopo Fetola Litaelo. Ho tiisa tloaelo ea basebelisi thelekramo e khothaletsa ho sebelisa litaelo tse peli kamehla: /qala и / Thusa, 'me haeba bot e hloka litlhophiso, sebelisa taelo ea tlatsetso /setting. Bot ea rona e bonolo joalo ka bolo, ka hona ha e hloke litlhophiso leha e le life. Re ngola litaelo tse peli tsa pele, tseo re tla li sebetsa ka khoutu. Joale, haeba mosebelisi a kenya slash (letšoao la slash: /) lebaleng la ho kenya, lethathamo la litaelo le tla hlaha bakeng sa khetho e potlakileng. Ntho e 'ngoe le e' ngoe e tšoana le setšoantšong: ka ho le letšehali - re kenya litaelo ka ntate bot; ka ho le letona, litaelo tsena li se li ntse li fumaneha ho basebelisi ba bot ea rona.
Mosebetsi oa Yandex
Kaha joale bot ea rona e se e entsoe, ha re ee ho Yandex.Cloudho theha mosebetsi o tla phethahatsa khoutu ea rona ea bot. Haeba ha o so sebetse le Yandex.Cloud bala boitsebiso boo
Kahoo ka console Yandex.Cloud ho menu ya ho tsamaya e ka ho le letshehadi kgetha ntho Mesebetsi ea Cloud, ebe o tobetsa konopo Etsa mosebetsi. Re e fa lebitso le tlhaloso e khutšoanyane bakeng sa rona.
Kamora ho tobetsa konopo bopa 'me ka mor'a metsotsoana e seng mekae, tšebetso e ncha e tla hlaha lethathamong la mesebetsi eohle. Tobetsa lebitsong la hae - sena se tla re isa leqepheng tjhebokakaretso mosebetsi oa rona. Mona o hloka ho bulela (On) fetola Mosebetsi oa sechabae le hore e fumanehe ho tsoa kantle (bakeng sa Yandex.Cloud) tsa lefatshe, le moelelo wa masimo Sehokelo sa mohala и Boitsebiso - e boloke e le lekunutu ho motho e mong le e mong ntle le uena le Telegraph, e le hore ts'ebetso ea hau e se ke ea bitsoa ke scammers tse fapaneng.
Joale, ka ho sebelisa menu e letšehali, e ea ho Mohlophisi mesebetsi. Ha re behelle ka thoko hanyane rona Mehopolo e Bohlale, 'me u thehe mosebetsi o fokolang oa template ho hlahloba ts'ebetso ea bot ea rona ... Leha ho le joalo, moelelong ona, mosebetsi ona ke bot ea rona ... Ka bokhutšoanyane, hona joale le hona mona re tla etsa bot e bonolo e tla "ipone" ( i.e. send back ) likopo tsa basebelisi. Template ena e ka sebelisoa kamehla ha u theha bots e ncha ea thelekramo ho etsa bonnete ba hore puisano le Telegram'ohm e sebetsa hantle. Tobetsa Etsa faele, a re e bitseng index.js, le inthaneteng Mohlophisi oa khoutu beha khoutu e latelang faeleng ena:
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
};
};
Ka Yandex.Cloud console e lokela ho shebahala tjena:
Ho feta mona re bontša Sebaka sa ho kena - index.botkae index ea lena ke lebitso la faele (index.js), le bot, - lebitso la mosebetsi (module.exports.bot). Tlohela masimo a mang kaofela joalo ka ha a le joalo, ebe o tobetsa konopo e hukung e kaholimo ho le letona Etsa mofuta. Ka metsotsoana e seng mekae mofuta ona oa ts'ebetso o tla etsoa. Nakoana ka mor'a tlhahlobo webhook, re tla theha mofuta o mocha - Mehopolo e Bohlale.
Ho boloka ntho
Hona joale re se re entse Mosebetsi oa Yandex, tloho, re ntse re le matšelisong Yandex.Cloud, a re theheng se bitsoang nkho (nkho, ke. nkho ka Serussia, eseng sehlopha ho hang) bakeng sa ho boloka lifaele tsa litšoantšo tse tla sebelisoa bot ea rona Mehopolo e Bohlale. Ho menu ya ho tsamaya e ka ho le letshehadi, kgetha ntho Ntho ea ho bolokoa ha lintho, tobetsa konopo Etsa nkho, hlahisa lebitso la eona, mohlala, img-bakete, mme haholoholo, Bala phihlello ea lintho Re e phatlalatsa - ho seng joalo Telegraph e ke ke ea bona linepe tsa rona. Re siea masimo a mang kaofela a sa fetoha. Tobetsa konopo Etsa nkho.
Kamora sena, lethathamo la libakete tsohle le ka shebahala tjena (haeba ena e le nkho ea hau feela):
Hona joale ke fana ka maikutlo a ho tobetsa lebitso la bakete le ho etsa foldara ka hare ho eona ho hlophisa polokelo ea litšoantšo bakeng sa likopo tsa hau tse fapaneng. Ka mohlala, bakeng sa bot ea thelekramo Mehopolo e Bohlale Ke entse foldara e bitsoang tg-bot-smart-menahano (ha ho letho, ke tla utloisisa khoutu ena). Etsa e 'ngoe hape.
Joale u ka tobetsa lebitsong la foldara, u kene ho eona ebe u kenya lifaele:
'Me ka ho tobetsa lebitsong la faele - e fumane URL bakeng sa tšebeliso bot ea rona, le ka kakaretso - kae kapa kae (empa u se ke ua phatlalatsa sena URL sa hlokahaleng, kaha sephethephethe ho tloha Ho boloka ntho qosoa).
Ke eona feela phetho e teng ho eona Ho boloka ntho. Joale u tla tseba seo u lokelang ho se etsa ha u bona molaetsa oa ho kenya lifaele moo.
Webhook
Joale re tla kenya webhook - ke hore. ha bot e fumana ntlafatso (mohlala, molaetsa o tsoang ho mosebelisi) ho tsoa ho seva thelekramo ho rona Mosebetsi oa Yandex kopo e tla romelloa (Kopo) e nang le data. Mona ke mohala oo u ka o behang sebakeng sa aterese sa sebatli sa hau ebe u nchafatsa leqephe (o tlameha ho etsa sena hang feela): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Re tla e nkela sebaka {bot_token} ho lets'oao leo re le amohetseng ho ntate bot ha re theha bot ea rona, le {webhook_url} - tsoela pele URL tsa rona Mesebetsi ea Yandex. Ema hanyane! Empa RossKomTsenzur e thibela bafani ba Russia Federation ho fana ka aterese https://api.telegram.org
. E, ho joalo. Empa tla le ho hong. Etsoe, ka mohlala, u ka botsa nkhono oa hao ka sena Ukraine, Israel kapa Canada - ha ho na "Rosskomcensorship" moo, 'me Molimo o tseba feela hore na batho ba phela joang ntle le eona. Ka lebaka leo, karabo ea kopo ha u kenya webhook e lokela ho shebahala tjena:
Re ntse re etsa liteko. E lokela ho "iponahatsa".
Ke 'nete. Liteboho tsa rona - joale Mosebetsi oa Yandex e fetohile thelekramo-bot!
Mehopolo e Bohlale
Joale ha re etseng Mehopolo e Bohlale. Khoutu e butsoe 'me e lutse
Kopanya morero 'me u kenye lintho tse itšetlehileng ka tsona:
git clone https://github.com/stmike/tg-bot-smart-thoughts.git
cd tg-bot-smart-thoughts
npm i
Etsa liphetoho tseo u li hlokang ho file index.js (ka boikhethelo; ha ho hlokahale hore u fetole letho). Theha dipto-archive, e nang le faele index.js le foldara node_modules ka hare, mohlala, tlas'a lebitso smart.zip.
Joale e-ea ho console ho rona Mesebetsi ea Yandex, khetha tab Sebaka sa polokelo ea ZIP, tobetsa konopo Khetha faele, 'me u khoasolle polokelo ea rona smart.zip. Qetellong, k'honeng e kaholimo ho le letona, tobetsa konopo Etsa mofuta.
Ka metsotsoana e seng mekae, ha ts'ebetso e nchafatsoa, re tla leka bot ea rona hape. Hona joale ha a sa "liipone", empa o fana ka mehopolo e bohlale!
Ke phetho bakeng sa kajeno. Lingoliloeng tse ling lia latela. Haeba u thahasella ho bala sena, ingolisa ho tsebiso mabapi le lingoliloeng tse ncha. U ka ngolisa mona, kapa ho thelekramo- mocha
litšupiso
Menehelo
Source: www.habr.com