Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Is cláir iad Bots in Telegram a chabhraíonn le teagmháil a bhunú leis an lucht féachana nó a shimplíonn gníomhartha a bhí le déanamh de láimh roimhe seo. Scríobhtar na cláir seo go sonrach don ardán teachtaire. Oibríonn róbónna ar an mbealach seo: seolann an t-úsáideoir ordú tríd an líne ionchuir, agus freagraíonn an córas le téacs nó teachtaireacht idirghníomhach. Uaireanta déanann an clár aithris ar ghníomhartha duine fíor fiú - spreagann bot den sórt sin níos mó muiníne i measc custaiméirí.

Tá roinnt cineálacha córas ann chun cúnamh uathoibríoch a thabhairt d’úsáideoirí. Ní dhéanann roinnt róbónna ach cumarsáid le custaiméirí, soláthraíonn daoine eile faisnéis go rialta. Ní féidir cláir a roinnt go soiléir i gcineálacha - is minic a chomhcheanglaíonn forbróirí roinnt feidhmeanna in aon bot amháin.

Is féidir leat bot simplí a scríobh le haghaidh Telegram le heilimintí idirghníomhacha i bhfoirm cnaipí ar an scáileán i 9 gcéim. Breathnaímis ar gach ceann acu go mion agus freagair cúpla ceist:

  • conas bot a thosú;
  • conas méarchlár ionsuite a chlárú ó chnaipe amháin nó níos mó;
  • conas na cnaipí a ríomhchlárú do na feidhmeanna atá ag teastáil;
  • cad is mód inlíne ann agus conas é a shocrú le haghaidh bot atá ann cheana féin.

Céim 0: cúlra teoiriciúil faoin API bots Telegram

Is í an phríomhuirlis a úsáidtear chun róbónna Telegram a chruthú ná an Comhéadan Ríomhchláraithe Feidhmchláir HTML, nó HTML API. Glacann an eilimint seo le hiarratais ó chuairteoirí agus seoltar freagraí i bhfoirm faisnéise. Déanann dearaí réamhdhéanta an obair ar an gclár a shimpliú. Chun bot a scríobh do Telegram, ní mór duit an seoladh ríomhphoist seo a úsáid: https://api.telegram.org/bot/METHOD_NAME

Chun go bhfeidhmeoidh an bot i gceart, tá comhartha ag teastáil freisin - meascán de charachtair a chosnaíonn an clár agus a osclaíonn rochtain air d'fhorbróirí iontaofa. Tá gach comhartha uathúil. Sanntar an teaghrán don bot nuair a chruthaítear é. Is féidir le modhanna a bheith difriúil: getUpdates, getChat agus eile. Braitheann an rogha modh ar an algartam a bhfuil súil ag na forbróirí ón bot. Sampla comhartha:

123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Úsáideann róbónna iarratais GET agus POST. Is minic go gcaithfear paraiméadair an mhodha a fhorlíonadh – mar shampla, nuair atá an modh sendMessage ceaptha chun an t-aitheantas comhrá agus roinnt téacs a sheoladh. Is féidir paraiméadair do mhionchoigeartú modh a rith mar theaghrán iarratais URL ag baint úsáide as application/x-www-form-urlencoded nó trí application-json. Níl na modhanna seo oiriúnach chun comhaid a íoslódáil. Tá ionchódú UTF-8 ag teastáil freisin. Trí iarratas a sheoladh chuig an API, is féidir leat an toradh a fháil i bhformáid JSON. Féach ar fhreagra an chláir maidir le faisnéis a aisghabháil tríd an modh getME:

FAIGH https://api.telegram.org/bot/getMe{ ceart go leor: true, toradh: { id: 231757398, first_name: "Ráta Malartaithe Bot", ainm úsáideora: "exchangetestbot" } }

Gheobhaidh an toradh má ok ionann fíor. Seachas sin, léireoidh an córas earráid.

Tá dhá bhealach ann chun teachtaireachtaí saincheaptha a fháil i róbónna. Tá an dá mhodh éifeachtach, ach tá siad oiriúnach i gcásanna éagsúla. Chun teachtaireachtaí a fháil, is féidir leat iarratas a scríobh de láimh leis an modh getUpdates - taispeánfaidh an clár an t-eagar sonraí Nuashonraithe ar an scáileán. Ní mór iarratais a sheoladh go rialta, tar éis anailís a dhéanamh ar gach sraith, seoltar arís agus arís eile. Is paraiméadar é Fritháireamh a chinneann líon na dtaifead a ndearnadh faillí orthu sula ndéantar toradh nua a luchtú chun athláithriú réad seiceála a sheachaint. Tiocfaidh buntáistí an mhodha getUpdates i bhfeidhm má:

  • níl aon bhealach ann HTTPS a chumrú;
  • úsáidtear teangacha casta scriptithe;
  • athraíonn an freastalaí bot ó am go chéile;
  • tá an bot luchtaithe le húsáideoirí.

Is é an dara modh is féidir a scríobh chun teachtaireachtaí úsáideora a fháil ná setWebhook. Úsáidtear é uair amháin, ní gá iarratais nua a sheoladh i gcónaí. Seolann an cuaille gréasáin nuashonruithe sonraí chuig an URL sonraithe. Teastaíonn teastas SSL ón modh seo. Beidh webook úsáideach sna cásanna seo:

  • úsáidtear teangacha ríomhchláraithe gréasáin;
  • níl an bot ró-ualach, níl an iomarca úsáideoirí ann;
  • ní athraíonn an freastalaí, fanann an clár ar an bhfreastalaí céanna ar feadh i bhfad.

I dtreoracha breise, úsáidfimid getUpdates.

Tá an tseirbhís @BotFather Telegram deartha chun róbónna comhrá a chruthú. Socraítear socruithe bunúsacha tríd an gcóras seo freisin - cabhróidh BotFather leat cur síos a dhéanamh, grianghraf próifíle a chur, uirlisí tacaíochta a chur leis. Tá leabharlanna - tacair d'iarratais HTML ar róbónna Telegram - ar fáil ar an Idirlíon, tá go leor acu ann. Agus an clár samplach á chruthú, baineadh úsáid as pyTelegramBotApi.

Céim 1: Iarratas ar Ráta Malairte a Chur i bhFeidhm

Ar dtús ní mór duit an cód a dhéanann ceisteanna a scríobh. Úsáidfimid agus an PrivatBank API á scríobh againn, seo thíos nasc chuige: https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5. Ní mór duit na modhanna seo a úsáid i do chód:

  • load_exchange – aimsíonn sé rátaí malairte agus taispeánann sé faisnéis ionchódaithe;
  • get_exchange – taispeánann sé sonraí faoi airgeadra ar leith;
  • get_exchanges – taispeánann sé liosta na n-airgeadraí de réir an tsampla.

Mar thoradh air sin, tá cuma mar seo ar an gcód sa chomhad pb.py:

iompórtáil maidir le hiarratais iompórtála iompórtáil json URL = 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5' def load_exchange(): ais json.loads(requests.get(URL).text) def get_exchange(ccy_key ): le haghaidh exc in load_exchange(): más rud é ccy_key == exc['ccy'] : filleadh exc ar ais False def get_exchanges(ccy_pattern): toradh = [] ccy_pattern = re.escape(ccy_pattern) + '.*' le haghaidh exc in load_exchange(): mura rud é re.match(ccy_pattern, exc['ccy'], re.IGNORECASE) Dada: toradh.append(exc) ar ais

Is féidir leis an gclár an freagra seo a leanas a eisiúint ar na hiarratais sonraithe:

[ { ccy: "USD", base_ccy: "UAH", ceannach:" 25.90000", díol:" 26.25000" }, { ccy: "EUR", base_ccy: "UAH", ceannach:" 29.10000", díol:" 29.85000 " }, { ccy: "RUR", base_ccy: "UAH", ceannach:" 0.37800", díol:" 0.41800 " }, { ccy: BTC", base_ccy: "USD", ceannach:" 11220.0384", díol: "12401.0950" } ]

Céim 2: Cruthaigh Telegram Bot le @BotFather

Is féidir leat clár a chruthú chun teachtaireachtaí a fháil agus chun freagairt dóibh ag baint úsáide as an tseirbhís @BotFather. Téigh go dtí a leathanach Telegram agus cuir isteach an t-ordú / newbot. Beidh treoracha le feiceáil sa chomhrá, dá réir sin is gá duit ainm an bot a scríobh ar dtús, agus ansin a sheoladh. Nuair a chruthaítear an cuntas bot, beidh teachtaireacht fáilte le comhartha le feiceáil ar an scáileán. Le haghaidh tuilleadh cumraíochta, bain úsáid as na horduithe seo:

  • /sraith tuairisc – cur síos;
  • /setabouttext – faisnéis faoin bot nua;
  • /setuserpic – grianghraf próifíle;
  • /setinline – mód inlíne;
  • /setcommands – cur síos ar orduithe.

Ag an gcéim dheireanach cumraíochta, déanaimid cur síos ar /help agus /exchange. Nuair a bheidh na céimeanna go léir curtha i gcrích, tá sé in am bogadh ar aghaidh chuig códú.

Céim 3: Socrú agus Seoladh an Bot

Cruthaímid comhad config.py. In sé, ní mór duit an cód bot uathúil agus an crios ama a shonrú ina bhfaighidh an clár faisnéis.

TOKEN = '' # cuir comhartha do bot ina ionad = 'An Eoraip/Kiev' TIMEZONE_COMMON_NAME = 'Kiev'

Ansin, cruthaímid comhad eile le hiompórtáil an pb.py a scríobhadh roimhe seo, leabharlanna agus comhpháirteanna riachtanacha eile. Tá na leabharlanna atá ar iarraidh suiteáilte ón gcóras bainistíochta pacáiste (pip).

iompórtáil telebotimport configimport pbimport datetimeimport pytzimport jsonimport traceback P_TIMEZONE = pytz.timezone(config.TIMEZONE) TIMEZONE_COMMON_NAME = config.TIMEZONE_COMMON_NAME

Úsáidfimid ábhar pyTelegramBotApi chun bot a chruthú. Seolaimid an comhartha faighte ag baint úsáide as an gcód seo a leanas:

bot = telebot.TeleBot(config.TOKEN) bot.polling(none_stop=Fíor)

Cinntíonn an paraiméadar none_stop go seoltar iarratais i gcónaí. Ní bheidh tionchar ag earráidí modha ar oibriú an pharaiméadar.

Céim 4: Scríobh an Láimhseálaí Ordú / tosaigh

Má dhéantar na céimeanna go léir roimhe seo i gceart, tá an bot tosaithe ag obair. Gineann an clár iarratais go rialta toisc go n-úsáideann sé an modh getUpdates. Roimh an líne leis an eilimint none_stop, ní mór dúinn píosa cód a phróiseálann an t-ordú / tús:

@bot.message_handler(commands=['tús']) def start_command(message): bot.send_message( message.chat.id, 'Beannachtaí! Is féidir liom rátaí malairte a thaispeáint duit.n' + 'Chun na rátaí malairte a fháil brúigh / exchange.n' + 'Chun cabhair a fháil brúigh /help.' )

RџSʻRё orduithe=['tús'] comhionann le Fíor tugtar start_command. Téann ábhar na teachtaireachta ann. Ansin, ní mór duit an fheidhm seolta a chur i bhfeidhm_teachtaireacht maidir le teachtaireacht ar leith.

Céim 5: Cruthaigh Láimhseálaí Ordú /help

Is féidir an t-ordú / help a chur i bhfeidhm mar chnaipe. Trí chliceáil air, tógfar an t-úsáideoir chuig cuntas Telegram an fhorbróra. Tabhair ainm don chnaipe, mar “Iarr ar an bhforbróir”. Socraigh an paraiméadar reply_markup, a atreoraíonn an t-úsáideoir chuig nasc, don mhodh send_message. Scríobhaimis sa chód an paraiméadar a chruthaíonn an méarchlár (InlineKeyboardMarkup). Níl uait ach cnaipe amháin (InlineKeyboardButton).

Breathnaíonn an cód láimhseálaí ordaithe deiridh mar seo:

@bot.message_handler(commands=['help']) def help_command(message): keyboard = telebot.types.InlineKeyboardMarkup() keyboard.add( telebot.types.InlineKeyboardButton( 'Fiafraigh den fhorbróir', url='ваша ссылка на на профиль ' ) ) bot.send_message( message.chat.id, '1) Chun liosta de na hairgeadraí atá ar fáil a fháil brúigh /exchange.n' + '2) Cliceáil ar an airgeadra a bhfuil suim agat ann.n' + '3) Tú gheobhaidh tú teachtaireacht ina mbeidh faisnéis maidir leis an bhfoinse agus na sprioc-airgeadraí, ' + 'rátaí ceannaigh agus rátaí díola.n' + '4) Cliceáil "Nuashonraigh" chun an fhaisnéis reatha maidir leis an iarratas a fháil. ' + 'Taispeánfaidh an bot freisin an difríocht idir na rátaí malairte roimhe seo agus na rátaí malairte reatha.n' + '5) Tacaíonn an bot inlíne. Cineál @ in aon chomhrá agus i gcéad litreacha airgeadra.', reply_markup=méarchlár )

Gníomh cód i gcomhrá Telegram:

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Céim 6: Ag cur an Láimhseálaí Ordú / malairte leis

Tá gá leis an gcéim seo chun cnaipí a thaispeáint le siombailí na n-airgeadraí atá ar fáil sa chomhrá. Cabhróidh méarchlár ar an scáileán le roghanna leat botúin a sheachaint. Soláthraíonn PrivatBank faisnéis ar an rúbal, an dollar agus an euro. Oibríonn an rogha InlineKeyboardButton mar seo:

  1. Déanann an t-úsáideoir cliceáil ar an gcnaipe leis an sonrúchán atá ag teastáil.
  2. faigheann getUpdates aisghlao (CallbackQuery).
  3. Éiríonn sé ar eolas conas brú ar an méarchlár a láimhseáil - tarchuirtear faisnéis faoin gcnaipe brúite.

/ cód láimhseála malairte:

@bot.message_handler(commands=['exchange']) def exchange_command(teachtaireacht): méarchlár = telebot.types.InlineKeyboardMarkup() keyboard.row( telebot.types.InlineKeyboardButton('USD', callback_data= 'get-USD') ) keyboard.row( telebot.types.InlineKeyboardButton('EUR', callback_data='get-EUR'), telebot.types.InlineKeyboardButton('RUR', callback_data='get-RUR') ) bot.send_message( message.chat .id, 'Cliceáil ar an rogha airgeadra:', reply_markup=méarchlár )

Toradh an chóid in Telegram:

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Céim 7: Láimhseálaí a scríobh do na cnaipí méarchláir ionsuite

Tá feidhm mhaisiúcháin @bot.callback_query_handler sa phacáiste pyTelegramBot Api. Tá an chomhpháirt seo deartha chun an glao ar ais a aistriú go feidhm - déanann an API an glao a dhíscaoileadh agus a athchruthú. Tá sé litrithe mar seo:

@bot.callback_query_handler(func=glao lambda: Fíor) def iq_callback(iarratas): data = ceist.data má tá data.startswith('get-'): get_ex_callback(query)

Scríobhaimis an modh get_ex_callback freisin:

def get_ex_callback(iarratas): bot.answer_callback_query(query.id) send_exchange_result(query.message, query.data[4:])

Tá modh úsáideach eile ann – answer_callback_query. Cuidíonn sé leis an ualach a bhaint idir an cnaipe a bhrú agus an toradh a thaispeáint ar an scáileán. Is féidir leat teachtaireacht a sheoladh chuig send_exchange_query trí roinnt cód airgeadra agus Teachtaireacht a rith. Scríobhaimis send_exchange_result:

def send_exchange_result(teachtaireacht, ex_code): bot.send_chat_action(message.chat.id, 'clóscríobh') ex = pb.get_exchange(ex_code) bot.send_message( message.chat.id, serialize_ex(ex), reply_markup=get_update_keyboard(ex). ), parse_mode = 'HTML' )

Cé go bhfaigheann an chatbot toradh an iarratais ón mbanc API, feiceann an cuairteoir an inscríbhinn “teachtaireacht a chlóscríobh”. Is cosúil go bhfuil duine fíor ag freagairt. Chun táscaire den sórt sin a thaispeáint ar an scáileán, beidh ort línte stádais ionchuir a chur leis. Ansin, úsáidfimid get_exchange - lena chabhair, gheobhaidh an clár an t-ainmniú airgeadra (rúbal, euro nó dollar). Úsáideann send_message modhanna breise: athraíonn serialize_ex an t-airgeadra go formáid eile, agus socraíonn get_update_keyboard eochracha bog a nuashonraíonn faisnéis agus a sheolann sonraí margaidh airgeadra chuig comhráite eile.

Scríobhaimis an cód le haghaidh get_update_keyboard. Ní mór dhá chnaipe a lua – seasann t agus e do chineál agus do mhalartú. Tá an mhír switch_inline_query don chnaipe Comhroinn ag teastáil ionas gur féidir leis an úsáideoir rogha a dhéanamh ó roinnt comhráite. Beidh an cuairteoir in ann a roghnú cé chuige a seolfar an ráta malairte reatha an dollar, an rúbal nó an euro.

def get_update_keyboard(ex): méarchlár = telebot.types.InlineKeyboardMarkup() keyboard.row( telebot.types.InlineKeyboardButton( 'Nuashonraigh', callback_data=json.dumps({ 't': 'u', 'e': { ') b': sean['ceannaigh'], 's': ex['díol'], 'c': ex['ccy'] } }).ionadaigh (' ', '') ), telebot.types.InlineKeyboardButton ('Comhroinn', switch_inline_query=ex['ccy']) ) méarchlár ar ais

Uaireanta ní mór duit a fheiceáil cé mhéad a d'athraigh an ráta malairte i mbeagán ama. Scríobhaimis dhá mhodh don chnaipe Nuashonraithe ionas gur féidir le húsáideoirí cúrsaí a fheiceáil i gcomparáid.

Cuirtear an difríocht idir na rátaí malairte ar aghaidh chuig an sraitheachóir tríd an bparaiméadar difr.

Ní oibríonn na modhanna forordaithe ach amháin tar éis na sonraí a nuashonrú, ní dhéanfaidh siad difear do chéad taispeáint an chúrsa.

def serialize_ex(ex_json, diff=Níl): toradh = '' + ex_json['base_ccy'] + ' -> ' + ex_json['ccy'] + ':nn' + 'Ceannaigh: ' + ex_json['ceannaigh'] if diff: result += ' ' + serialize_exchange_diff(dif['buy_diff']) + 'n' + 'Díol: ' + ex_json['díol'] + ' ' + serialize_exchange_diff(dif['sale_diff']) + 'n' else: result += 'nDíol: ' + ex_json['sale'] + 'n' ar ais toradh def serialize_exchange_diff(diff): result = '' más difr é > 0: result = '(' + str(diff) + ' " src="https://sworg/images/core/emoji/2.3/svg/2197.svg">" src="https://sworg/images /core/emoji/72x72/2197.png">" src="https://sworg/images/core/emoji/72x72/2197.png">)' elif diff < 0: result = '(' + str( diff)[1:] + ' " src="https://sworg/images/core/emoji/2.3/svg/2198.svg">" src="https://sworg/images/core/emoji/72x72 /2198.png">" src="https://sworg/images/core/emoji/72x72/2198.png">)' toradh ar ais

Samhlaigh go raibh an cuairteoir ag iarraidh a fháil amach an ráta malairte dollar. Seo cad a tharlóidh má roghnaíonn tú USD sa teachtaireacht:

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Céim 8: An Láimhseálaí Cnaipe Nuashonraithe a Chur i bhFeidhm

Scríobhfaimid an cód chun gníomhartha a láimhseáil leis an gcnaipe Nuashonraithe agus cuir an chuid iq_callback_method leis. Nuair a thosaíonn míreanna cláir leis an bparaiméadar faigh, ní mór duit get_ex_callback a scríobh. I gcásanna eile, déanaimid JSON a pharsáil agus déanaimid iarracht an eochair t.

@bot.callback_query_handler(func=glao lambda: Fíor) def iq_callback(query): data = ceist.data má tá data.startswith('get-'): get_ex_callback(iarratas) eile: bain triail as: má json.loads(sonraí)[ 't' ] == 'u': edit_message_callback( cheist) seachas ValueError: pas

Más ionann t agus u, beidh ort clár a scríobh don mhodh edit_message_callback. Déanaimis an próiseas seo a bhriseadh síos céim ar chéim:

  1. Faisnéis cothrom le dáta a íoslódáil faoi staid an mhargaidh airgeadra (exchange_now = pb.get_exchange(sonraí['c']).
  1. Teachtaireacht nua a scríobh trí srathachtóir le diff.
  2. Síniú á chur leis (get_edited_signature).

Mura n-athraíonn an teachtaireacht tosaigh, cuir glaoch ar an modh edit_message_text.

def edit_message_callback( cheist): sonraí = json.loads(query.data)['e'] exchange_now = pb.get_exchange(sonraí['c']) text = serialize_ex( exchange_now, get_exchange_diff( get_ex_from_iq_data(data), exchange_now ) ) + 'n' + get_edited_signature() if query.message: bot.edit_message_text( text, query.message.chat.id, query.message.message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML' ) in elif_message. : bot.edit_message_text( text, inline_message_id=query.inline_message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML' )

Scríobhaimis an modh get_ex_from_iq_data chun JSON a pharsáil:

def get_ex_from_iq_data(exc_json): filleadh { 'ceannaigh': exc_json['b'], 'díol': exc_json['s'] }

Beidh roinnt modhanna eile ag teastáil uait: mar shampla, get_exchange_diff, a léann an t-eolas sean agus nua faoi chostas airgeadraí agus a thaispeánann an difríocht.

def get_exchange_diff(last, now): fill { 'sale_diff': snámhphointe ("%. 6f" % (snámhphointe (anois ['sale']) - snámhphointe (deireadh ['sale']))), 'buy_diff': snámhphointe ("%.6f" % (snámhphointe(anois['ceannaigh']) - snámhphointe(deireadh['ceannaigh']))) }

Taispeánann an ceann deireanach, get_edited_signature, an t-am ar nuashonraíodh an cúrsa an uair dheireanach.

def get_edited_signature(): ar ais 'Nuashonraithe ' + str(datetime.datetime.now(P_TIMEZONE).strftime('%H:%M:%S')) + ' ('+ TIMEZONE_COMMON_NAME +')'

Mar thoradh air sin, tá an chuma ar an teachtaireacht nuashonraithe ón bot le ráta malairte cobhsaí mar seo:

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Nuair a athraíonn an cúrsa, taispeántar na difríochtaí idir na luachanna sa teachtaireacht mar gheall ar na paraiméadair fhorordaithe.

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Céim 9: Cur i bhFeidhm Mód Leabaithe

Tá an modh ionsuite ag teastáil chun faisnéis a sheoladh go tapa ón gclár chuig aon chomhrá - anois ní gá duit bot a chur leis an gcomhrá mar rannpháirtí. Nuair a chuireann úsáideoir Telegram isteach ainm bot le comhartha @ os a chomhair, ba cheart go mbeadh roghanna comhshó le feiceáil os cionn na líne ionchuir. Má chliceálann tú ar cheann de na míreanna, seolfaidh an bot teachtaireacht chuig an gcomhrá leis na torthaí agus na cnaipí chun sonraí a nuashonrú agus a sheoladh. Beidh an fotheideal “via ".

Cuirtear InlineQuery ar aghaidh chuig query_text tríd an leabharlann. Úsáideann an cód an fheidhm answer_line chun na torthaí cuardaigh a fháil mar raon sonraí agus an eilimint inline_query_id. Bainimid úsáid as get_exchanges ionas go bhfaighidh an bot roinnt airgeadraí ar iarratas.

@bot.inline_handler(func=ceist lambda: Fíor) def query_text(inline_query): bot.answer_inline_query( inline_query.id, get_iq_articles(pb.get_exchanges(inline_query.query)) )

Déanaimid raon sonraí a chur ar aghaidh chuig get_iq_articles chun oibiachtaí a thabhairt ar ais ó InlineQueryResultArticle tríd an modh seo.

def get_iq_articles(malartuithe): toradh = [] le haghaidh exc i malartuithe: result.append( telebot.types.InlineQueryResultArticle( id=exc['ccy'], teideal=exc['ccy'], ionchur_message_content=telebot.types.InputTextMessageContent) ( serialize_ex(exc), parse_mode = 'HTML' ), reply_markup=get_update_keyboard(exc), description='Tiontaigh '+ exc['base_ccy'] + ' -> ' + exc['ccy'], thumb_height=1 ) ) toradh ar ais

Anois, má scríobhann tú @ agus spás sa líne, beidh na torthaí cuardaigh le feiceáil ar an scáileán - roghanna le haghaidh a thiontú go trí airgeadra atá ar fáil.

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Is féidir le húsáideoirí na torthaí a scagadh tríd an airgeadra atá ag teastáil a iontráil.

Tar éis cliceáil ar an airgeadra atá ag teastáil ón liosta, faigheann an comhrá an teachtaireacht chéanna a fhaigheann úsáideoirí bot. Is féidir leat an cnaipe Nuashonraithe a úsáid freisin. Taispeánann an íomhá thíos an teachtaireacht nuashonraithe a seoladh tríd an bot:

Telegram bot i Python. Treoir iomlán maidir le bot a scríobh le rátaí malairte ón tús

Conclúid

Anois tá a fhios agat conas bot a chruthú le haghaidh Telegram. Is féidir leat uirlisí úsáideacha a chur le do chlár: cnaipí chun an toradh a nuashonrú agus a sheoladh chuig úsáideoirí eile an teachtaire agus modh ionsuite a ligeann duit feidhmeanna an bot a úsáid lasmuigh den chomhrá leis. Bunaithe ar an treoir seo, is féidir leat aon bot simplí a chruthú le feidhmeanna eile - ní hamháin an ceann a thaispeánfaidh rátaí malairte. Ná bíodh eagla ort triail a bhaint as leabharlanna, APIanna, agus cód chun cúntóir uathoibrithe a chruthú a dhéanfaidh comhrá le custaiméirí ar Telegram agus a neartóidh nasc daoine leasmhara leis an gcuideachta.

1 Comment

  1. Foilseachán iontach

Leave a Reply