ọdịnaya
- Kwụpụ 0: ndabere usoro ihe gbasara Telegram bots API
- Kwụpụ 1: Na-emejuputa arịrịọ ọnụego mgbanwe
- Kwụpụ 2: Mepụta Telegram Bot na @BotFather
- Nzọụkwụ 3: Ịtọlite na ịmalite Bot
- Kwụpụ 4: Dee / malite Command Handler
- Kwụpụ 5: Mepụta /help Command Handler
- Kwụpụ 6: Na-agbakwụnye / Exchange Handler Command
- Kwụpụ 7: Ide onye njikwa maka bọtịnụ ahụ arụnyere arụnyere
- Kwụpụ 8: Na-eme ihe njikwa bọtịnụ Mmelite
- Kwụpụ 9: Mmejuputa ọnọdụ agbakwunyere
- mmechi
Bots na Telegram bụ mmemme na-enyere aka ịmepụta kọntaktị na ndị na-ege ntị ma ọ bụ mee ka omume dị mfe nke ekwesịrị iji aka mee na mbụ. Edere mmemme ndị a kpọmkwem maka ikpo okwu ozi. Bots na-arụ ọrụ n'ụzọ dị otú a: onye ọrụ na-eziga iwu site na ntinye ntinye, na usoro na-aza ozi na ederede ma ọ bụ ozi mmekọrịta. Mgbe ụfọdụ, mmemme ahụ na-eṅomi omume nke onye dị adị - bot dị otú ahụ na-akpalikwu ntụkwasị obi n'etiti ndị ahịa.
Enwere ọtụtụ ụdị sistemụ maka enyemaka akpaaka nye ndị ọrụ. Ụfọdụ bots na-ekwurịta okwu na ndị ahịa, ndị ọzọ na-enye ozi mgbe niile. Ọ gaghị ekwe omume ikewa mmemme n'ụzọ doro anya na ụdị - ndị mmepe na-ejikọta ọtụtụ ọrụ na otu bot.
Ị nwere ike dee bot dị mfe maka Telegram nwere ihe mmekọrịta n'ụdị bọtịnụ ihuenyo na usoro 9. Ka anyị leba anya na nke ọ bụla n'ime ha nke ọma ma zaa ajụjụ ole na ole:
- otu esi amalite bot;
- otu esi edebanye aha ahụigodo arụnyere n'ime ya site na otu bọtịnụ ma ọ bụ karịa;
- otu esi eme mmemme bọtịnụ maka ọrụ achọrọ;
- kedu ọnọdụ inline na otu esi edobe ya maka bot dị adị.
Kwụpụ 0: ndabere usoro ihe gbasara Telegram bots API
Ngwá ọrụ bụ isi eji emepụta bots Telegram bụ HTML Application Programming Interface, ma ọ bụ HTML API. Ihe a na-anabata arịrịọ ndị ọbịa ma zipụ nzaghachi n'ụdị ozi. Nhazi emebere emebere na-eme ka ọrụ dị mfe na mmemme ahụ. Iji dee bot maka Telegram, ịkwesịrị iji adreesị ozi-e a: https://api.telegram.org/bot
Maka ịrụ ọrụ ziri ezi nke bot, a na-achọkwa akara ngosi - ngwakọta nke ihe odide na-echebe mmemme ahụ ma mepee ohere ịnweta ya na ndị mmepe tụkwasịrị obi. Token ọ bụla pụrụ iche. E kenyere eriri ahụ na bot n'elu okike. Ụzọ nwere ike ịdị iche: getUpdates, getChat na ndị ọzọ. Nhọrọ nke usoro dabere na ihe algọridim ndị mmepe na-atụ anya site na bot. Ihe atụ akara:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
Bots na-eji arịrịọ GET na POST. A ga-agbakwunyerịrị oke usoro - dịka ọmụmaatụ, mgbe usoro izipu kwesịrị izipu id nkata na ụfọdụ ederede. Enwere ike ịfefe ụkpụrụ maka nhazigharị usoro dị ka eriri ajụjụ URL site na iji ngwa/x-www-form-urlencoded ma ọ bụ site na ngwa-json. Ụzọ ndị a adabaghị maka nbudata faịlụ. Achọkwara itinye koodu UTF-8. Site na izipu arịrịọ na API, ị nwere ike nweta nsonaazụ n'ụdị JSON. Lelee nzaghachi mmemme maka iweghachite ozi site na usoro getME:
Nweta https://api.telegram.org/bot/getMe{ ok: ezi, nsonaazụ: {id: 231757398, first_name: "Exchange Rate Bot", aha njirimara: "exchangetestbot"}}
A ga-enweta nsonaazụ ya ma ọ bụrụ ok nhata ezi. Ma ọ bụghị ya, usoro ahụ ga-egosi njehie.
Enwere ụzọ abụọ iji nweta ozi omenala na bots. Ụzọ abụọ a dị irè, ma ọ dị mma n'ọnọdụ dị iche iche. Iji nweta ozi, ị nwere ike iji aka dee arịrịọ site na iji usoro getUpdates - mmemme ahụ ga-egosipụta nhazi data mmelite na ihuenyo. A ga-ezigarịrị arịrịọ mgbe niile, mgbe nyochachara usoro nke ọ bụla, a na-emegharịghachi ya ọzọ. Offset bụ oke nke na-ekpebi ọnụọgụ ndekọ ndị amafere tupu ị na-ebupụta nsonaazụ ọhụrụ iji zere mpụta ọzọ nke ihe enyochara. Uru nke usoro getUpdates ga-abata ma ọ bụrụ:
- ọ nweghị ụzọ isi hazie HTTPS;
- a na-eji asụsụ scripting mgbagwoju anya;
- ihe nkesa bot na-agbanwe site n'oge ruo n'oge;
- bot na-ejuju na ndị ọrụ.
Ụzọ nke abụọ enwere ike dee iji nweta ozi onye ọrụ bụ setWebhook. A na-eji ya otu ugboro, ọ dịghị mkpa na-eziga arịrịọ ọhụrụ mgbe niile. Webhook na-eziga mmelite data na URL akọwapụtara. Usoro a chọrọ asambodo SSL. Webhook ga-aba uru n'ọnọdụ ndị a:
- A na-eji asụsụ mmemme weebụ;
- bot adịghị ebufe ibu, ọ bụghị ọtụtụ ndị ọrụ;
- ihe nkesa anaghị agbanwe agbanwe, ihe omume ahụ na-anọgide na otu ihe nkesa ruo ogologo oge.
Na ntuziaka ndị ọzọ, anyị ga-eji getUpdates.
Emebere ọrụ @BotFather Telegram iji mepụta bots nkata. A na-edozikwa ntọala ntọala site na usoro a - BotFather ga-enyere gị aka ịmepụta nkọwa, tinye foto profaịlụ, tinye ngwaọrụ nkwado. Ọbá akwụkwọ - nhazi nke arịrịọ HTML maka bots Telegram - dị na ịntanetị, enwere ọtụtụ n'ime ha. Mgbe ị na-eke mmemme ihe atụ, ejiri pyTelegramBotApi mee ihe.
Kwụpụ 1: Na-emejuputa arịrịọ ọnụego mgbanwe
Mbụ ị ga-ede koodu na-eme ajụjụ. Anyị ga-eji mgbe ị na-ede PrivatBank API, n'okpuru bụ njikọ ya: https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5. Ịkwesịrị iji usoro ndị a na koodu gị:
- load_exchange - chọta ọnụego mgbanwe ma gosipụta ozi etinyere;
- get_exchange - na-egosiputa data gbasara otu ego;
- get_exchanges - na-egosi ndepụta nke ego dịka ihe nlele ahụ si dị.
N'ihi ya, koodu dị na pb.py faịlụ dị ka nke a:
mbubata rebubata arịrịọ bubata json URL = 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5' def load_exchange(): laghachi json.loads(requests.get(URL).text) def get_exchange(ccy_key) ): maka exc na load_exchange (): ma ọ bụrụ na ccy_key == exc ['ccy']: laghachi exc rene Ụgha def get_exchanges(ccy_pattern): N'ihi = [] ccy_pattern = re.escape(ccy_pattern) + '.*' maka exc in load_exchange(): ma ọ bụrụ na re.match (ccy_pattern, exc ['ccy'], re.IGNORECASE) abụghị Nke ọ bụla: result.append(exc) nloghachi rịzọlt
Mmemme nwere ike ịnye nzaghachi ndị a maka arịrịọ ndị akọwapụtara:
[ {ccy:"USD", base_ccy:"UAH", zụta:"25.90000", ire:"26.25000"}, {ccy:"EUR", base_ccy:"UAH", zụta:"29.10000", ire:"29.85000 " }, {ccy:"RUR", base_ccy:"UAH", zụta:"0.37800", ire:"0.41800"}, {ccy:"BTC", base_ccy:"USD", zụrụ:"11220.0384", ire: "12401.0950"} ]
Kwụpụ 2: Mepụta Telegram Bot na @BotFather
Ị nwere ike ịmepụta mmemme maka ịnata ozi na ịzaghachi ha site na iji ọrụ @BotFather. Gaa na ibe Telegram ya wee tinye iwu /newbot. Ntuziaka ga-apụta na nkata ahụ, dịka nke ị ga-esi dee aha bot na mbụ, na adreesị ya. Mgbe emepụtara akaụntụ bot, ozi nnabata nwere akara ga-apụta na ihuenyo. Maka nhazi ọzọ, jiri iwu ndị a:
- / setdescription - nkọwa;
- / setabouttext - ozi gbasara bot ọhụrụ;
- /setuserpic - foto profaịlụ;
- /setinline – inline mode;
- /setcommands – nkọwa nke iwu.
Na nhazi nhazi ikpeazụ, anyị na-akọwa / enyemaka na / mgbanwe. Mgbe emechara usoro niile, ọ bụ oge ịkwaga na nzuzo.
Nzọụkwụ 3: Ịtọlite na ịmalite Bot
Ka anyị mepụta faịlụ config.py. N'ime ya, ịkwesịrị ịkọwapụta koodu bot pụrụ iche na mpaghara oge nke mmemme ahụ ga-achọta ozi.
TOKEN = '' # jiri akara bot gị dochie TIMEZONE = 'Europe/Kiev' TIMEZONE_COMMON_NAME = 'Kiev'
Ọzọ, anyị na-emepụta faịlụ ọzọ na mbubata nke pb.py edere na mbụ, ụlọ akwụkwọ na ihe ndị ọzọ dị mkpa. A na-etinye ọba akwụkwọ ndị na-efu efu site na sistemụ njikwa ngwugwu (pip).
mbubata telebotimport configimport pbimport datetimeimport pytzimport jsonimport traceback P_TIMEZONE = pytz.timezone(config.TIMEZONE) TIMEZONE_COMMON_NAME = config.TIMEZONE_COMMON_NAME
Ka anyị jiri ọdịnaya pyTelegramBotApi mepụta bot. Anyị na-eziga token enwetara site na iji koodu a:
bot = telebot.TeleBot(config.TOKEN) bot.polling(enweghị_stop=Eziokwu)
Oke none_stop na-ahụ na a na-eziga arịrịọ mgbe niile. Njehie usoro agaghị emetụta ọrụ nke oke.
Kwụpụ 4: Dee / malite Command Handler
Ọ bụrụ na emechara usoro niile gara aga nke ọma, bot amalitela ịrụ ọrụ. Mmemme a na-ewepụta arịrịọ mgbe niile n'ihi na ọ na-eji usoro getUpdates. Tupu ahịrị nwere mmewere enweghị nkwụsị, anyị chọrọ mpempe koodu na-ahazi iwu / mmalite:
@bot.message_handler(iwu=['mmalite']) def start_command(ozi): bot.send_message( message.chat.id, 'Ekele! Enwere m ike igosi gị ọnụego mgbanwe.n' + 'Iji nweta ọnụego mgbanwe pịa / Exchange.n' + ' Iji nweta enyemaka pịa /help.')
RџSЂRё iwu =['mmalite'] nhata na Ezi start_iwu ka a na-akpọ. Ọdịnaya nke ozi na-aga ebe ahụ. Na-esote, ịkwesịrị imejuputa ọrụ izipu_ozi n'ihe gbasara otu ozi.
Kwụpụ 5: Mepụta /help Command Handler
Enwere ike itinye iwu / enyemaka dị ka bọtịnụ. Site na ịpị ya, a ga-akpọrọ onye ọrụ na akaụntụ Telegram nke onye nrụpụta. Nye bọtịnụ ahụ aha, dị ka "Jụọ onye mmepụta". Tọọ akara reply_markup, nke na-atụgharị onye ọrụ gaa na njikọ, maka usoro send_message. Ka anyị dee paramita na-emepụta ahụigodo (InlineKeyboardMarkup) na koodu. Ị chọrọ naanị otu bọtịnụ (InlineKeyboardButton).
Koodu njikwa iwu ikpeazụ dị ka nke a:
@bot.message_handler(iwu = ['enyemaka']) def help_command(ozi): kiiboodu = telebot.types.InlineKeyboardMarkup() keyboard.add( telebot.types.InlineKeyboardButton('Jụọ onye mmepụta', url='ваша ссылка на профиль' ) ) bot.send_message( message.chat.id, '1) Iji nata ndepụta nke ego dị, pịa /exchange.n' + '2) Pịa na ego ị nwere mmasị na.n' + '3) Ị ga-enweta ozi nwere ozi gbasara isi mmalite na ego ndị a na-eche, '+' ọnụ ahịa ịzụrụ na ọnụ ahịa ire ere.n' + '4) Pịa “Mmelite” iji nweta ozi ugbu a gbasara arịrịọ ahụ. ' Ụdị @na nkata ọ bụla na mkpụrụedemede mbụ nke ego.', reply_markup=keyboard )
Usoro koodu na nkata Telegram:
Kwụpụ 6: Na-agbakwụnye / Exchange Handler Command
Nzọụkwụ a dị mkpa iji gosipụta bọtịnụ nwere akara nke ego dị na nkata ahụ. Ahụigodo na ihuenyo nwere nhọrọ ga-enyere gị aka izere mmejọ. PrivatBank na-enye ozi gbasara ruble, dollar na euro. Nhọrọ bọtịnụ InlineKeyboard na-arụ ọrụ dị ka nke a:
- Onye ọrụ pịa bọtịnụ ahụ na aha achọrọ.
- getUpdates na-anata oku azụ (CallbackQuery).
- A na-amata ka esi edozi ịpị igodo ahụ - a na-ebufe ozi gbasara bọtịnụ pịa.
/ koodu njikwa mgbanwe:
@bot.message_handler (iwu = ['exchange']) def exchange_command(ozi): kiiboodu = telebot.types.InlineKeyboardMarkup() keyboard.row( telebot.types.InlineKeyboardButton('USD', callback_data='nweta-USD') ) keyboard. ahiri( telebot.types.InlineKeyboardButton('EUR', callback_data='nweta-EUR'), telebot.types.InlineKeyboardButton('RUR', callback_data='nweta-RUR') ) bot.send_message( message.chat. .id, 'pịa ego ị họọrọ:', reply_markup=keyboard )
Nsonaazụ nke koodu na Telegram:
Ngwungwu pyTelegramBot Api nwere ọrụ ndozi @bot.callback_query_handler. Emebere akụrụngwa a iji tụgharịa oku azụ ka ọ bụrụ ọrụ - API na-ewepụ ma megharịa oku ahụ. A na-asụ ya dị ka nke a:
@bot.callback_query_handler (func = oku lambda: Ezi) def iq_callback(ajụjụ): data = query.data ma ọ bụrụ data.startswith ('get-'): get_ex_callback(ajụjụ)
Ka anyị deekwa usoro get_ex_callback:
def get_ex_callback(ajụjụ): bot.answer_callback_query(query.id) send_exchange_result(query.message, query.data[4:])
Enwere ụzọ ọzọ bara uru - answer_callback_query. Ọ na-enyere aka iwepu ibu n'etiti ịpị bọtịnụ na igosipụta nsonaazụ na ihuenyo. Ị nwere ike izipu ozi na send_exchange_query site na ịnyefe ụfọdụ koodu ego na ozi. Ka anyị dee send_exchange_result:
def send_exchange_result(ozi, ex_code): bot.send_chat_action(message.chat.id, 'typing') ex = pb.get_exchange(ex_code) bot.send_message( message.chat.id, serialize_ex(ex), reply_markup=get_update_keyboard(ex) ), parse_mode = 'HTML' )
Mgbe chatbot na-enweta nsonaazụ nke arịrịọ sitere na ụlọ akụ API, onye ọbịa ahụ na-ahụ ihe e dere “ịpị ozi”. Ọ dị ka onye n'ezie na-aza. Iji gosipụta ihe ngosi dị otú ahụ na ihuenyo, ị ga-achọ ịgbakwunye ahịrị ọkwa ntinye. Ọzọ, anyị ga-eji get_exchange - site n'enyemaka ya, mmemme ahụ ga-enweta aha ego (rubles, euro ma ọ bụ dollar). send_message na-eji ụzọ ndị ọzọ: serialize_ex na-atụgharị ego ahụ ka ọ bụrụ usoro ọzọ, na get_update_keyboard na-edozi softkeys na-emelite ozi na zipu data ahịa ego na nkata ndị ọzọ.
Ka anyị dee koodu maka get_update_keyboard. Ekwesịrị ịkpọ bọtịnụ abụọ - t na e guzo maka ụdị na mgbanwe. Ihe switch_inline_query maka bọtịnụ Share dị mkpa ka onye ọrụ nwee ike họrọ n'ọtụtụ nkata. Onye ọbịa ahụ ga-enwe ike ịhọrọ onye ọ ga-ezigara ọnụego mgbanwe ugbu a nke dollar, ruble ma ọ bụ euro.
def get_update_keyboard(ex): kiiboodu = telebot.types.InlineKeyboardMarkup() kiiboodu.row( telebot.types.InlineKeyboardButton ('Update', callback_data=json.dumps({'t': 'u','e': {' b': ex['zụrụ'], 's': ex['ire'], 'c': ex['ccy']} }).dochie('',')), telebot.types.InlineKeyboardButton ('Share', switch_inline_query=ex['ccy']) ) weghachi ahụigodo
Mgbe ụfọdụ, ị ga-achọ ịhụ ole mgbanwe mgbanwe gbanwere n'ime obere oge. Ka anyị dee ụzọ abụọ maka bọtịnụ Mmelite ka ndị ọrụ wee hụ nkuzi n'iji atụnyere.
A na-ebufe ọdịiche dị n'etiti ọnụego mgbanwe na serializer site na paramita dị iche.
Usoro ndị edepụtara na-arụ ọrụ naanị mgbe emelitere data, ha agaghị emetụta ngosipụta mbụ nke usoro ahụ.
def serialize_ex(ex_json, diff=Ọ dịghị onye): arụpụta = ''+ ex_json['base_ccy'] + ' ->' + ex_json['ccy'] + ':nn ' ' + serialize_exchange_diff (diff['sale_diff']) + 'n' ọzọ: nsonaazụ += 'nere:' + ex_json['sale'] + 'n' nkwụghachi nsonaazụ def serialize_exchange_diff(diff): nsonaazụ =' ọ bụrụ na iche > 0: nsonaazụ = '(' + 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: results = '(' + 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">)' nsonaazụ nloghachi
Were ya na onye ọbịa ahụ chọrọ ịma ọnụego mgbanwe dollar. Nke a bụ ihe na-eme ma ọ bụrụ na ị họrọ USD na ozi:
Kwụpụ 8: Na-eme ihe njikwa bọtịnụ Mmelite
Ka anyị jiri bọtịnụ nwelite dee koodu maka ijikwa omume wee tinye akụkụ iq_callback_method na ya. Mgbe ihe mmemme malitere site na nweta parameter, ị ga-ederịrị get_ex_callback. N'ọnọdụ ndị ọzọ, anyị na-atụgharị JSON ma gbalịa nweta igodo t.
@bot.callback_query_handler (func = oku lambda: Ezi) def iq_callback(ajụjụ): data = query.data ma ọ bụrụ data.startswith ('get-'): get_ex_callback(ajụjụ) ọzọ: gbalịa: ọ bụrụ json.loads (data)[ 't'] == 'u': edit_message_callback(ajụjụ) ewezuga ValueError: gafere
Ọ bụrụ na gị nhata, ị ga-achọ ide mmemme maka usoro edit_message_callback. Ka anyị bibie usoro a site na nzọụkwụ:
- Ịbudata ozi ọhụrụ gbasara ọnọdụ ahịa ego (exchange_now = pb.get_exchange(data['c']).
- Ide ozi ọhụrụ site na serializer nwere diff.
- Na-agbakwụnye mbinye aka (get_edited_signature).
Ọ bụrụ na ozi mbụ agbanweghị, kpọọ usoro edit_message_text.
def edit_message_callback (ajụjụ): data = json.loads (query.data) ['e'] exchange_now = pb.get_exchange (data['c']) ederede = serialize_ex (exchange_now, get_exchange_diff ( nweta_ex_from_iq_data (data), mgbanwe_now) ) + 'n' + get_edited_signature() ma ọ bụrụ na ajụjụ: bot.edit_message_text (ederede, query.message.chat.id, query.message.message_id, reply_markup=get_update_keyboard(exchange_now),parse_mode='HTML' ) elifmesageinline_id. : bot.edit_message_text(ederede, inline_message_id=query.inline_message_id, reply_markup=get_update_keyboard(exchange_now),parse_mode='HTML' )
Ka anyị dee usoro get_ex_from_iq_data iji tụgharịa JSON:
def get_ex_from_iq_data(exc_json): laghachi {'zụrụ': exc_json['b'], 'ire': exc_json['s']}
Ị ga-achọ ụzọ ole na ole ọzọ: dịka ọmụmaatụ, get_exchange_diff, nke na-agụ ozi ochie na nke ọhụrụ gbasara ọnụ ahịa ego ma gosipụta ọdịiche ahụ.
def get_exchange_diff (nke ikpeazụ, ugbu a): laghachi {'sale_diff': sere n'elu ("%.6f"% (ugbu a ['ire']) - sere n'elu ( ikpeazụ['ire']))), 'buy_diff': sere n'elu. ("%6f"% (ugbu a['zụrụ']) - sere n'elu( ikpeazụ['zụrụ']))))}
Nke ikpeazụ, get_edited_signature, na-egosi oge emelitere nkuzi ikpeazụ.
def get_edited_signature(): laghachi 'Emelitere '+ str(datetime.datetime.now(P_TIMEZONE).strftime('%H:%M:%S')) + '(' + TIMEZONE_COMMON_NAME + ')'
N'ihi ya, ozi emelitere sitere na bot nwere ọnụego mgbanwe kwụsiri ike dị ka nke a:
Mgbe usoro ahụ gbanwere, a na-egosipụta ọdịiche dị n'etiti ụkpụrụ na ozi ahụ n'ihi usoro ndị edepụtara.
Kwụpụ 9: Mmejuputa ọnọdụ agbakwunyere
Ụdị arụnyere arụnyere dị mkpa iji zipu ozi ngwa ngwa site na mmemme ahụ gaa na nkata ọ bụla - ugbu a ọ dịghị mkpa ka ị tinye bot na mkparịta ụka dị ka onye so na ya. Mgbe onye ọrụ Telegram tinyere aha bot na akara @ n'ihu ya, nhọrọ ntụgharị kwesịrị ịpụta n'elu ahịrị ntinye. Ọ bụrụ na ị pịa otu n'ime ihe ndị ahụ, bot ga-eziga ozi na mkparịta ụka na nsonaazụ na bọtịnụ maka imelite na izipu data. Aha onye zitere ya ga-enwe isiokwu “via
A na-ebufe inlineQuery gaa na query_text site n'ọbá akwụkwọ. Koodu ahụ na-eji ọrụ answer_line weghachite nsonaazụ ọchụchọ dị ka ọtụtụ data yana mmewere inline_query_id. Anyị na-eji get_exchanges ka bot ahụ chọta ọtụtụ ego na arịrịọ.
@bot.inline_handler(func=ajụjụ lambda: Ezi) def query_text(inline_query): bot.answer_inline_query( inline_query.id, get_iq_articles(pb.get_exchanges(inline_query.query))))
Anyị na-agafe ọtụtụ data iji nweta_iq_articles iji weghachi ihe sitere na InlineQueryResultArticle site na usoro a.
def get_iq_articles (mgbanwe): nsonaazụ = [] maka exc na mgbanwe: result.append( telebot.types.InlineQueryResultArticle( id=exc['ccy'], aha=exc['ccy'], input_message_content=telebot.types.InputTextMessageContent ( serialize_ex(exc), parse_mode='HTML'), reply_markup=get_update_keyboard(exc), nkọwa ='Tụgharịa' + exc['base_ccy'] + ' -> ' + exc['ccy'], thumb_height=1 ) ) weghachi nsonaazụ
Ugbu a, ọ bụrụ na ị dee @
Ndị ọrụ nwere ike nyochaa nsonaazụ ya site na itinye ego achọrọ.
Mgbe ịpịchara ego achọrọ site na listi ahụ, nkata ahụ na-enweta otu ozi nke ndị ọrụ bot na-enweta. Ị nwekwara ike iji bọtịnụ Mmelite. Foto dị n'okpuru na-egosi ozi emelitere ezitere site na bot:
mmechi
Ugbu a ị maara ka ịmepụta bot maka Telegram. Ị nwere ike tinye ngwaọrụ bara uru na mmemme gị: bọtịnụ maka imelite na iziga nsonaazụ ya na ndị ọrụ ndị ọzọ nke ozi na ọnọdụ arụnyere na-enye gị ohere iji ọrụ nke bot na-abụghị nkata na ya. Dabere na ntuziaka a, ị nwere ike ịmepụta bot ọ bụla dị mfe na ọrụ ndị ọzọ - ọ bụghị naanị nke ga-egosi ọnụego mgbanwe. Atụla egwu ịnwale ụlọ akwụkwọ, API na koodu iji mepụta onye enyemaka na-akpaghị aka nke ga-eso ndị ahịa kparịta ụka na Telegram wee wusie njikọ nke ndị nwere mmasị na ụlọ ọrụ ahụ ike.
Fatástica publicación