Leo, kutoka kwa vifaa vya chakavu, tutakusanyika https://api.telegram.org/
. Kweli, hatutafanya - hapana, hapana. Baada ya yote, katika mfuko wetu kuna kinachojulikana. vijiti vya wavuti - kwa msaada wao, hatufanyi maombi kwa anwani maalum, lakini tunatuma ombi letu kama jibu la ombi lolote kwetu. Hiyo ni, kama katika Odessa, tunajibu swali na swali. Ndiyo maana API ya Telegraph haitaonekana kwenye nambari yetu.
KanushoMajina ya mashirika yoyote ya serikali yaliyotajwa katika makala haya ni ya uwongo, na uwezekano wa kupatana na majina ya mashirika halisi ni sadfa.
Kwa hivyo, tutafanya bot ambayo itatupa mawazo mazuri. Hasa kama kwenye picha:
Unaweza kujaribu kwa vitendo - hapa ndio jina: @SmartThoughtsBot. Niliona kitufe "Ujuzi wa Alice"? Hii ni kwa sababu roboti ni aina ya "mwenzi" wa roboti ya jina moja. Ustadi wa Alice, i.e. hufanya kazi sawa na Ustadi wa Alice na inawezekana kwamba wataweza kuishi pamoja kwa amani kwa kutangazana. Kuhusu jinsi ya kuunda ujuzi Mawazo Smart ilivyoelezwa katika makala hiyo
Kuunda roboti
Ningependa somo hili liwe na manufaa kwa kila mtu, pamoja na. na wajenzi wa bot wa novice. Kwa hiyo, katika sehemu hii nitaelezea kwa undani jinsi ya kuunda kwa ujumla telegram'e bots. Kwa wale ambao hawahitaji habari hii, endelea kwa sehemu zifuatazo.
Fungua programu Telegaram, wacha tumwite baba wa roboti zote (wana kila kitu kama watu) - @BatherFather - na kwanza tutampa amri /msaada ili kuburudisha kumbukumbu yake ya kile tunachoweza kufanya. Sasa tutavutiwa na timu / mpya.
Kwa kuwa bot iliyoelezwa hapa tayari imeundwa, kwa madhumuni ya maandamano nitaunda bot nyingine kwa muda mfupi (na kisha kuifuta). Nitampigia simu DemoHabrBot. Majina (username) ya roboti zote za telegramu lazima ziishe kwa neno bot, kwa mfano: MyCoolBot au my_cool_bot - hii ni kwa roboti. Lakini kwanza tunaipa bot jina (jina) - na hii ni kwa watu. Jina linaweza kuwa katika lugha yoyote, likajumuisha nafasi, na si lazima limalizie kwa neno bot, na sio lazima hata iwe ya kipekee. Katika mfano huu, niliita bot hii Demo Habr.
Sasa chagua jina la bot (username, ile ya roboti). Hebu tumuite DemoHabrBot. Kila kitu kinachohusiana na jina la bot (jina) halihusiani na jina lake hata kidogo - username (au inatumika, lakini kinyume kabisa). Baada ya kuunda kwa mafanikio jina la kipekee la roboti, tunahitaji kunakili na kuhifadhi (kwa ujasiri kabisa!) ishara iliyoonyeshwa kwenye picha ya skrini na mshale mwekundu. Kwa msaada wake baadaye tutaanzisha asili kutoka telegram'webhook wetu Kazi ya Yandex.
Sasa wacha tutoe amri kwa baba wa roboti zote: / mybots, na itatuonyesha orodha ya roboti zote ambazo tumeunda. Wacha tuiache roboti mpya iliyookwa pekee kwa sasa Demo Habr (iliundwa ili kuonyesha jinsi ya kuunda roboti, lakini pia tutaitumia leo kwa madhumuni mengine ya maonyesho), na hebu tuangalie roboti. Mawazo ya Smart (@SmartThoughtsBot) Bofya kitufe kilicho na jina lake kwenye orodha ya roboti.
Hapa tunaweza kusanidi bot yetu. Kwa kubonyeza kitufe Hariri⦠Tutaendelea kuhariri chaguo moja au jingine. Kwa mfano, kwa kubofya kifungo Hariri Jina tunaweza kubadilisha jina la bot, sema badala yake Mawazo ya Smart, andika Mawazo ya Kichaa. Picha ya chini - hii ni avatar ya bot, lazima iwe angalau 150 x 150 px. Maelezo - haya ni maelezo mafupi ambayo mtumiaji huona wakati wa kuanzisha bot kwa mara ya kwanza, kama jibu la swali: Kijibu hiki kinaweza kufanya nini? kuhusu - maelezo mafupi zaidi, ambayo hupitishwa kwa kiunga cha roboti (https://t.me/SmartThoughtsBot
) au unapotazama habari kuihusu.
Tunachotakiwa kufanya ni kuweka amri. Ili kufanya hivyo, bonyeza kitufe Badilisha Amri. Kusawazisha mazoezi ya mtumiaji telegram inapendekeza kutumia amri mbili kila wakati: /anza ΠΈ / msaada, na ikiwa bot inahitaji mipangilio, tumia amri ya ziada /mipangilio. Boti yetu ni rahisi kama mpira, kwa hivyo haihitaji mipangilio yoyote bado. Tunaandika amri mbili za kwanza, ambazo tutazishughulikia kwa nambari. Sasa, ikiwa mtumiaji ataingiza mkwaju (ishara ya kufyeka: /) kwenye uwanja wa kuingiza, orodha ya amri itaonekana kwa uteuzi wa haraka. Kila kitu ni kama kwenye picha: upande wa kushoto - tunaweka amri kupitia bot ya baba; upande wa kulia, amri hizi tayari zinapatikana kwa watumiaji katika roboti yetu.
Kazi ya Yandex
Sasa kwa kuwa bot yetu imeundwa, wacha tuende Yandex.Cloudkuunda chaguo la kukokotoa ambalo litafanya msimbo wetu wa roboti. Ikiwa haujafanya kazi na Yandex.Cloud soma nyenzo
Kwa hivyo kwenye koni Yandex.Cloud katika menyu ya kusogeza ya kushoto chagua kipengee Kazi za Wingu, na kisha bonyeza kitufe Unda kipengele cha kukokotoa. Tunatoa jina na maelezo mafupi kwa sisi wenyewe.
Baada ya kubonyeza kitufe kujenga na baada ya sekunde chache, kazi mpya itaonekana kwenye orodha ya vitendaji vyote. Bonyeza kwa jina lake - hii itatupeleka kwenye ukurasa Pitia kazi yetu. Hapa unahitaji kuwezesha (On) kubadili Shughuli ya ummaili iweze kupatikana kutoka kwa nje (kwa Yandex.Cloud) ya dunia, na maana ya mashamba Kiungo cha simu ΠΈ Kitambulisho - weka siri sana kutoka kwa kila mtu isipokuwa wewe mwenyewe na Telegramu, ili kazi yako isiweze kuitwa na walaghai mbalimbali.
Sasa, kwa kutumia menyu ya kushoto, nenda kwa Mhariri kazi. Hebu tuweke kando kwa muda wetu Mawazo ya Smart, na uunda kazi ndogo ya template ili kuangalia utendaji wa bot yetu ... Hata hivyo, katika muktadha huu, kazi hii ni bot yetu ... Kwa kifupi, sasa na hapa tutafanya bot rahisi ambayo "itakuwa kioo" ( yaani send back ) maombi ya mtumiaji. Kiolezo hiki kinaweza kutumika kila wakati wakati wa kuunda roboti mpya za telegramu ili kuhakikisha kuwa mawasiliano nayo Telegramu'ohm inafanya kazi vizuri. Bofya Unda faili, tuite index.js, na mtandaoni Mhariri wa kanuni bandika nambari ifuatayo kwenye faili hii:
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
};
};
Kwenye koni ya Yandex.Cloud inapaswa kuonekana kama hii:
Zaidi hapa chini tunaashiria Sehemu ya kuingilia - index.botAmbapo index hili ndilo jina la faili (index.js), na bot - jina la kazi (module.exports.bot) Acha sehemu zingine zote kama zilivyo, na ubofye kitufe kwenye kona ya juu kulia Unda toleo. Katika sekunde chache toleo hili la chaguo la kukokotoa litaundwa. Mara baada ya kupima mtandao, tutaunda toleo jipya - Mawazo ya Smart.
Hifadhi ya kitu
Sasa kwa kuwa tumeunda Kazi ya Yandex, njoo, tukiwa kwenye koni Yandex.Cloud, tuunde kinachojulikana ndoo (ndoo, i.e. ndoo kwa Kirusi, sio bouti kabisa) kwa kuhifadhi faili za picha ambazo zitatumika kwenye bot yetu. Mawazo ya Smart. Katika menyu ya urambazaji ya kushoto chagua kipengee Uhifadhi wa Kitu, bonyeza kitufe Tengeneza ndoo, kuja na jina lake, kwa mfano, ndoo ya img, na muhimu zaidi, Ufikiaji wa kusoma kwa vitu Tunaiweka hadharani - vinginevyo Telegramu haitaona picha zetu. Tunaacha nyanja zingine zote bila kubadilika. Bonyeza kitufe Tengeneza ndoo.
Baada ya hayo, orodha ya ndoo zote inaweza kuonekana kama hii (ikiwa hii ndio ndoo yako pekee):
Sasa ninapendekeza kubonyeza jina la ndoo na kuunda folda ndani yake ili kupanga uhifadhi wa picha kwa programu zako tofauti. Kwa mfano, kwa bot ya telegram Mawazo ya Smart Niliunda folda inayoitwa tg-bot-smart-mawazo (hakuna chochote, nitaelewa nambari hii). Unda moja pia.
Sasa unaweza kubofya jina la folda, ingia ndani yake na upakie faili:
Na kwa kubofya jina la faili - pata URL kwa matumizi katika bot yetu, na kwa ujumla - popote (lakini usichapishe hii URL sio lazima, kwani trafiki kutoka Hifadhi ya kitu kushtakiwa).
Hiyo ni kimsingi yote kuna yake Hifadhi ya kitu. Sasa utajua cha kufanya unapoona kidokezo cha kupakia faili hapo.
Mtandao
Sasa tutaweka mtandao -yaani. wakati bot inapokea sasisho (kwa mfano, ujumbe kutoka kwa mtumiaji) kutoka kwa seva telegram kwetu Kazi ya Yandex ombi litatumwa (kuomba) na data. Hapa kuna mstari ambao unaweza kubandika kwenye uga wa anwani ya kivinjari chako kisha uonyeshe upya ukurasa (lazima ufanye hivi mara moja tu): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Tutabadilisha tu {bot_token} kwa ishara tuliyopokea kutoka kwa baba bot wakati wa kuunda bot yetu, na {webhook_url} - imewashwa URL yetu Kazi za Yandex. Subiri kidogo! Lakini RossKomTsenzur inakataza watoa huduma katika Shirikisho la Urusi kuhudumia anwani https://api.telegram.org
. Ndiyo hiyo ni sahihi. Lakini kuja na kitu. Baada ya yote, unaweza, kwa mfano, kuuliza bibi yako juu ya hii huko Ukraine, Israeli au Kanada - hakuna "Rosskomcensorship" huko, na Mungu anajua tu jinsi watu wanaishi bila hiyo. Kama matokeo, jibu la ombi wakati wa kusakinisha webhook inapaswa kuonekana kama hii:
Tunajaribu. Inapaswa "kioo".
Hii ni kweli. Pongezi zetu - sasa Kazi ya Yandex imekuwa telegram-boti!
Mawazo ya Smart
Sasa tufanye Mawazo Mahiri. Nambari imefunguliwa na iko
Funga mradi na usakinishe utegemezi:
git clone https://github.com/stmike/tg-bot-smart-thoughts.git
cd tg-bot-smart-thoughts
npm i
Fanya mabadiliko unayohitaji kwenye faili index.js (hiari; sio lazima ubadilishe chochote). Unda zip-hifadhi, na faili index.js na folda moduli za moduli ndani, kwa mfano, chini ya jina smart.zip.
Sasa nenda kwa koni kwa yetu Kazi za Yandex, chagua kichupo Kumbukumbu ya ZIPbonyeza kitufe Chagua faili, na kupakua kumbukumbu zetu smart.zip. Hatimaye, kwenye kona ya juu ya kulia, bofya kifungo Unda toleo.
Katika sekunde chache, kazi inaposasishwa, tutajaribu bot yetu tena. Sasa yeye sio "vioo" tena, lakini hutoa mawazo ya busara!
Ni hayo tu kwa leo. Makala zaidi yanafuata. Ikiwa ungependa kusoma hili, jiandikishe kwa arifa kuhusu makala mpya. Unaweza kujiandikisha hapa, au kwa telegram-kituo
marejeo
Michango
Chanzo: mapenzi.com