Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Ang mga bot sa Telegram mao ang mga programa nga makatabang sa pag-establisar sa kontak sa mga mamiminaw o pagpayano sa mga aksyon nga kaniadto kinahanglan nga himuon nga mano-mano. Kini nga mga programa espesipikong gisulat alang sa messenger platform. Ang mga bot nagtrabaho niining paagiha: ang user nagpadala ug command pinaagi sa input line, ug ang sistema motubag gamit ang text o interactive nga mensahe. Usahay gisundog sa programa ang mga aksyon sa usa ka tinuod nga tawo - ang ingon nga bot nagdasig sa dugang nga pagsalig sa mga kustomer.

Adunay ubay-ubay nga mga matang sa mga sistema alang sa awtomatik nga tabang sa mga tiggamit. Ang ubang mga bot nakigsulti lang sa mga kustomer, ang uban kanunay nga naghatag kasayuran. Imposible nga tin-aw nga bahinon ang mga programa sa mga tipo - ang mga developer kanunay nga naghiusa sa daghang mga gimbuhaton sa usa ka bot.

Makasulat ka usa ka yano nga bot alang sa Telegram nga adunay mga interactive nga elemento sa porma sa mga buton sa screen sa 9 nga mga lakang. Atong tan-awon ang matag usa kanila sa detalye ug tubaga ang pipila ka mga pangutana:

  • unsaon pagsugod ug bot;
  • unsaon pagrehistro sa usa ka built-in nga keyboard gikan sa usa o daghan pa nga mga buton;
  • unsaon pagprograma ang mga buton alang sa gusto nga mga gimbuhaton;
  • unsa ang inline mode ug kung giunsa kini pag-set up para sa usa ka kasamtangan nga bot.

Lakang 0: teoretikal nga background bahin sa Telegram bots API

Ang nag-unang himan nga gigamit sa paghimo sa Telegram bots mao ang HTML Application Programming Interface, o HTML API. Gidawat niini nga elemento ang mga hangyo sa bisita ug nagpadala mga tubag sa porma sa kasayuran. Ang mga andam nga mga disenyo nagpasimple sa trabaho sa programa. Para makasulat ug bot para sa Telegram, kinahanglan nimong gamiton kining email address: https://api.telegram.org/bot/METHOD_NAME

Alang sa husto nga pag-andar sa bot, gikinahanglan usab ang usa ka token - usa ka kombinasyon sa mga karakter nga nanalipod sa programa ug nagbukas sa pag-access niini sa mga kasaligan nga mga developer. Ang matag timaan talagsaon. Ang string gi-assign sa bot sa paghimo. Ang mga pamaagi mahimong lahi: getUpdates, getChat ug uban pa. Ang pagpili sa pamaagi nagdepende kung unsa nga algorithm ang gipaabut sa mga developer gikan sa bot. Pananglitan sa token:

123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Gigamit sa mga bot ang GET ug POST nga mga hangyo. Ang mga parameter sa pamaagi kanunay kinahanglan nga madugangan - pananglitan, kung ang pamaagi sa sendMessage kinahanglan nga ipadala ang chat id ug pipila nga teksto. Ang mga parametro para sa pagpino sa pamaagi mahimong ipasa isip URL query string gamit ang application/x-www-form-urlencoded o pinaagi sa application-json. Kini nga mga pamaagi dili angay alang sa pag-download sa mga file. UTF-8 encoding gikinahanglan usab. Pinaagi sa pagpadala og hangyo sa API, makuha nimo ang resulta sa JSON format. Tan-awa ang tubag sa programa sa pagkuha sa impormasyon pinaagi sa getME nga pamaagi:

GET https://api.telegram.org/bot/getMe{ ok: tinuod, resulta: { id: 231757398, first_name: "Exchange Rate Bot", username: "exchangetestbot" } }

Makuha ang resulta kung ok parehas tinuod nga. Kung dili, ang sistema magpakita sa usa ka sayup.

Adunay duha ka paagi aron makuha ang naandan nga mga mensahe sa mga bot. Ang duha nga mga pamaagi epektibo, apan angay sa lainlaing mga kaso. Aron makakuha og mga mensahe, mahimo ka nga mano-mano pagsulat sa usa ka hangyo gamit ang getUpdates nga pamaagi - ang programa magpakita sa Update data array sa screen. Ang mga hangyo kinahanglang ipadala kanunay, human sa pag-analisar sa matag laray, ang pagpadala gisubli. Ang offset usa ka parametro nga nagtino sa gidaghanon sa mga nalaktawan nga mga rekord sa dili pa magkarga ug bag-ong resulta aron malikayan ang pagtungha pag-usab sa gisusi nga mga butang. Ang mga benepisyo sa getUpdates nga pamaagi magamit kung:

  • walay paagi sa pag-configure sa HTTPS;
  • gigamit ang komplikadong mga lengguwahe sa scripting;
  • ang bot server mausab matag karon ug unya;
  • ang bot puno sa mga tiggamit.

Ang ikaduha nga paagi nga mahimong isulat aron makadawat mga mensahe sa gumagamit mao ang setWebhook. Gigamit kini sa makausa, dili kinahanglan nga kanunay magpadala mga bag-ong hangyo. Ang webhook nagpadala sa mga update sa datos ngadto sa piho nga URL. Kini nga pamaagi nanginahanglan usa ka sertipiko sa SSL. Mapuslanon ang Webhook niining mga kasoha:

  • gigamit ang mga pinulongan sa web programming;
  • ang bot dili sobra nga gibug-aton, wala’y daghang tiggamit;
  • ang server dili mausab, ang programa nagpabilin sa samang server sa dugay nga panahon.

Sa dugang nga mga panudlo, among gamiton ang getUpdates.

Ang @BotFather Telegram nga serbisyo gidisenyo aron makahimo og mga chat bot. Ang sukaranan nga mga setting gitakda usab pinaagi sa kini nga sistema - Ang BotFather motabang kanimo sa paghimo og usa ka paghulagway, pagbutang usa ka litrato sa profile, pagdugang mga himan sa pagsuporta. Mga librarya - mga set sa HTML nga mga hangyo alang sa Telegram bots - anaa sa Internet, adunay daghan niini. Sa paghimo sa pananglitan nga programa, gigamit ang pyTelegramBotApi.

Lakang 1: Pagpatuman sa Exchange Rate Requests

Una kinahanglan nimo nga isulat ang code nga nagpahigayon mga pangutana. Atong gamiton sa pagsulat sa PrivatBank API, sa ubos mao ang link niini: https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5. Kinahanglan nimong gamiton kini nga mga pamaagi sa imong code:

  • load_exchange – pangitaa ang exchange rates ug gipakita ang naka-encode nga impormasyon;
  • get_exchange – nagpakita sa datos mahitungod sa usa ka piho nga currency;
  • get_exchanges - nagpakita sa listahan sa mga kwarta sumala sa sample.

Ingon usa ka sangputanan, ang code sa pb.py file ingon niini:

import re import hangyo import json URL = 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5' def load_exchange(): return json.loads(requests.get(URL).text) def get_exchange(ccy_key ): para sa exc sa load_exchange(): kung ccy_key == exc['ccy']: ibalik exc return False def get_exchanges(ccy_pattern): resulta = [] ccy_pattern = re.escape(ccy_pattern) + '.*' para sa exc sa load_exchange(): kung re.match(ccy_pattern, exc['ccy'], re.IGNORECASE) dili Wala: result.append(exc) return result

Ang programa mahimong mag-isyu sa mosunod nga tubag sa gipiho nga mga hangyo:

[ { ccy:"USD", base_ccy:"UAH", pagpalit:"25.90000", baligya:"26.25000" }, {ccy:"EUR", base_ccy:"UAH", pagpalit:"29.10000", baligya:"29.85000 "}, {ccy:"RUR", base_ccy:"UAH", pagpalit:"0.37800", baligya:"0.41800" }, {ccy:"BTC", base_ccy:"USD", pagpalit:"11220.0384", baligya: "12401.0950" } ]

Lakang 2: Paghimo usa ka Telegram Bot kauban ang @BotFather

Makahimo ka ug programa para sa pagdawat ug mga mensahe ug pagtubag niini gamit ang @BotFather nga serbisyo. Adto sa iyang Telegram page ug isulod ang /newbot command. Ang mga panudlo makita sa chat, nga kinahanglan nimo isulat una ang ngalan sa bot, ug dayon ang adres niini. Kung nahimo ang bot account, usa ka mensahe sa pag-abiabi nga adunay sulud nga timaan ang makita sa screen. Alang sa dugang nga pag-configure, gamita kini nga mga mando:

  • /setdescription – paghulagway;
  • /setaouttext – impormasyon bahin sa bag-ong bot;
  • /setuserpic – litrato sa profile;
  • /setinline – inline nga mode;
  • /setcommands – paghulagway sa mga sugo.

Sa katapusang lakang sa pag-configure, among gihulagway ang /help ug /exchange. Kung nahuman na ang tanan nga mga lakang, oras na aron magpadayon sa pag-coding.

Lakang 3: Pag-set up ug Paglansad sa Bot

Magbuhat ta ug config.py file. Diha niini, kinahanglan nimo nga ipiho ang talagsaon nga bot code ug ang time zone diin ang programa makakita og impormasyon.

TOKEN = '' # ilisan ug token sa imong botTIMEZONE = 'Europe/Kiev' TIMEZONE_COMMON_NAME = 'Kiev'

Sunod, naghimo kami og lain nga file nga adunay import sa kaniadto nga gisulat nga pb.py, mga librarya ug uban pang gikinahanglan nga mga sangkap. Ang nawala nga mga librarya gi-install gikan sa package management system (pip).

import telebotimport configimport pbimport datetimeimport pytzimport jsonimport traceback P_TIMEZONE = pytz.timezone(config.TIMEZONE) TIMEZONE_COMMON_NAME = config.TIMEZONE_COMMON_NAME

Atong gamiton ang sulod sa pyTelegramBotApi sa paghimo og bot. Gipadala namo ang nadawat nga token gamit ang mosunod nga code:

bot = telebot.TeleBot(config.TOKEN) bot.polling(walay_stop=Tinuod)

Ang none_stop parameter nagsiguro nga ang mga hangyo kanunay nga ipadala. Ang operasyon sa parameter dili maapektuhan sa mga sayup sa pamaagi.

Lakang 4: Isulat ang /start Command Handler

Kung ang tanan nga nangaging mga lakang nahimo sa husto, ang bot nagsugod sa pagtrabaho. Ang programa nagmugna og mga hangyo kanunay tungod kay kini naggamit sa getUpdates nga pamaagi. Sa wala pa ang linya nga adunay none_stop nga elemento, kinahanglan namon ang usa ka piraso sa code nga nagproseso sa / pagsugod nga mando:

@bot.message_handler(commands=['start']) def start_command(message): bot.send_message( message.chat.id, 'Greetings! I can show you exchange rates.n' + 'Aron makuha ang exchange rates press / exchange.n' + 'Aron makakuha og tabang press /help.' )

RџSЂRё commands=['pagsugod'] katumbas sa Tinuod start_command gitawag. Ang sulod sa mensahe moadto didto. Sunod, kinahanglan nimo nga ipatuman ang function sa pagpadala_mensahe kalabot sa usa ka partikular nga mensahe.

Lakang 5: Paghimo og /help Command Handler

Ang /help nga sugo mahimong ipatuman isip buton. Pinaagi sa pag-klik niini, ang user madala sa Telegram account sa developer. Hatagi ang buton og ngalan, sama sa "Pangutan-a ang developer". Ibutang ang reply_markup parameter, nga nag-redirect sa user ngadto sa usa ka link, alang sa send_message nga paagi. Atong isulat sa code ang parameter nga nagmugna sa keyboard (InlineKeyboardMarkup). Kinahanglan ra nimo ang usa ka buton (InlineKeyboardButton).

Ang katapusan nga command handler code ingon niini:

@bot.message_handler(commands=['help']) def help_command(message): keyboard = telebot.types.InlineKeyboardMarkup() keyboard.add(telebot.types.InlineKeyboardButton( 'Pangutan-a ang developer', url='ваша ссылка на профиль' ) ) bot.send_message( message.chat.id, '1) Para makadawat ug lista sa available nga mga currency press /exchange.n' + '2) I-klik ang currency nga interesado ka.n' + '3) Ikaw makadawat og mensahe nga adunay sulod nga impormasyon mahitungod sa tinubdan ug sa target nga mga kwarta, ' + 'buying rates and selling rates.n' + '4) I-klik ang “Update” aron makadawat sa kasamtangang impormasyon bahin sa hangyo. ' + 'Ang bot magpakita usab sa kalainan tali sa kaniadto ug sa kasamtangan nga mga bayronon.n' + '5) Ang bot nagsuporta sa inline. Matang @ sa bisan unsang chat ug sa unang mga letra sa usa ka currency.', reply_markup=keyboard )

Aksyon sa code sa Telegram chat:

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Lakang 6: Pagdugang sa /exchange Command Handler

Kini nga lakang gikinahanglan aron ipakita ang mga buton nga adunay mga simbolo sa magamit nga mga kwarta sa chat. Ang on-screen nga keyboard nga adunay mga opsyon makatabang kanimo sa paglikay sa mga sayop. Ang PrivatBank naghatag kasayuran sa ruble, dolyar ug euro. Ang InlineKeyboardButton nga kapilian nagtrabaho sama niini:

  1. Ang tiggamit nag-klik sa buton nga adunay gusto nga ngalan.
  2. getUpdates nakadawat og callback (CallbackQuery).
  3. Nahibal-an kung giunsa pagdumala ang pagpindot sa keyboard - ang kasayuran bahin sa gipugos nga buton gipasa.

/ exchange handler code:

@bot.message_handler(commands=['exchange']) def exchange_command(message): keyboard = 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, 'Pag-klik sa currency sa pagpili:', reply_markup=keyboard )

Ang resulta sa code sa Telegram:

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Lakang 7: Pagsulat sa usa ka handler alang sa built-in nga mga buton sa keyboard

Ang pyTelegramBot Api package adunay @bot.callback_query_handler decorator function. Kini nga component gidesinyo sa paghubad sa callback ngadto sa usa ka function - ang API moabli ug mohimo pag-usab sa tawag. Kini gi-spelling sama niini:

@bot.callback_query_handler(func=lambda call: True) def iq_callback(query): data = query.data kon data.startswith('get-'): get_ex_callback(query)

Isulat usab nato ang get_ex_callback nga pamaagi:

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

Adunay laing mapuslanong paagi – answer_callback_query. Makatabang kini sa pagtangtang sa load tali sa pagpindot sa buton ug pagpakita sa resulta sa screen. Mahimo kang magpadala ug mensahe sa send_exchange_query pinaagi sa pagpasa sa pipila ka currency code ug Message. Isulat nato ang send_exchange_result:

def send_exchange_result(mensahe, ex_code): bot.send_chat_action(message.chat.id, 'type') ex = pb.get_exchange(ex_code) bot.send_message( message.chat.id, serialize_ex(ex), reply_markup=get_update_keyboard(ex ), parse_mode='HTML' )

Samtang ang chatbot makadawat sa resulta sa hangyo gikan sa bangko API, nakita sa bisita ang inskripsiyon nga "pag-type sa usa ka mensahe". Morag tinuod nga tawo ang motubag. Aron ipakita ang ingon nga timailhan sa screen, kinahanglan nimo nga idugang ang mga linya sa status sa input. Sunod, atong gamiton ang get_exchange – uban sa tabang niini, ang programa makadawat sa currency designation (rubles, euros o dolyares). Ang send_message naggamit ug dugang nga mga pamaagi: gi-convert sa serialize_ex ang currency ngadto sa laing format, ug ang get_update_keyboard nag-set up sa mga softkey nga nag-update sa impormasyon ug nagpadala sa datos sa currency market ngadto sa ubang mga chat.

Atong isulat ang code para sa get_update_keyboard. Kinahanglang hisgotan ang duha ka butones – t ug e para sa type ug exchange. Ang switch_inline_query nga butang alang sa Share button gikinahanglan aron ang user makapili gikan sa daghang mga chat. Ang bisita makahimo sa pagpili kung kinsa ang ipadala sa kasamtangan nga exchange rate sa dolyar, ruble o euro.

def get_update_keyboard(ex): keyboard = telebot.types.InlineKeyboardMarkup() keyboard.row( telebot.types.InlineKeyboardButton( 'Update', callback_data=json.dumps({ 't': 'u', 'e': { ' b': ex['buy'], 's': ex['sale'], 'c': ex['ccy'] } }).ilis(' ', '') ), telebot.types.InlineKeyboardButton ('Share', switch_inline_query=ex['ccy']) ) balik nga keyboard

Usahay kinahanglan nimo nga tan-awon kung unsa ka dako ang pagbag-o sa exchange rate sa mubo nga panahon. Atong isulat ang duha ka mga pamaagi alang sa Update button aron ang mga tiggamit makakita sa mga kurso kon itandi.

Ang kalainan tali sa exchange rates gipasa ngadto sa serializer pinaagi sa diff parameter.

Ang gireseta nga mga pamaagi molihok lamang human ma-update ang datos, dili kini makaapekto sa unang pagpakita sa kurso.

def serialize_ex(ex_json, diff=Wala): resulta = '' + ex_json ['base_ccy'] + ' -> ' + ex_json ['ccy'] + ':nn' + 'Buy: ' + ex_json['buy'] if diff: result += ' ' + serialize_exchange_diff(diff['buy_diff']) + 'n' + 'Sell: ' + ex_json['sale'] + ' ' + serialize_exchange_diff(diff ['sale_diff']) + 'n' else: result += 'nSell: ' + ex_json ['sale'] + 'n' return result def serialize_exchange_diff(diff): resulta = '' kon diff > 0: resulta = '(' + 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: resulta = '(' + 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">)' resulta sa pagbalik

Hunahunaa nga ang bisita gusto nga mahibal-an ang dolyar nga exchange rate. Ania ang mahitabo kung imong pilion ang USD sa mensahe:

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Lakang 8: Pagpatuman sa Update Button Handler

Atong isulat ang code alang sa pagdumala sa mga aksyon gamit ang Update button ug idugang ang iq_callback_method nga bahin niini. Kung ang mga butang sa programa magsugod sa get parameter, kinahanglan nimo isulat get_ex_callback. Sa ubang mga sitwasyon, among gi-parse ang JSON ug gisulayan nga makuha ang yawe t.

@bot.callback_query_handler(func=lambda call: True) def iq_callback(query): data = query.data kon data.startswith('get-'): get_ex_callback(query) else: try: if json.loads(data)[ 't'] == 'u': edit_message_callback(query) gawas sa ValueError: pass

Kung t katumbas u, kinahanglan ka nga magsulat ug programa para sa edit_message_callback nga pamaagi. Atong bungkagon kini nga proseso sa lakang:

  1. Pag-download sa pinakabag-o nga impormasyon bahin sa kahimtang sa merkado sa kuwarta (exchange_now = pb.get_exchange(data['c']).
  1. Pagsulat og bag-ong mensahe pinaagi sa serializer nga adunay diff.
  2. Pagdugang og pirma (get_edited_signature).

Kung ang inisyal nga mensahe dili mausab, tawga ang edit_message_text nga pamaagi.

def edit_message_callback(query): data = json.loads(query.data)['e'] exchange_now = pb.get_exchange(data['c']) text = serialize_ex( exchange_now, get_exchange_diff( get_ex_from_iq_data(data), exchange_now ) ) + 'n' + get_edited_signature() kon 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' ) elif query.inline_message : bot.edit_message_text( text, inline_message_id=query.inline_message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML' )

Atong isulat ang get_ex_from_iq_data nga pamaagi aron ma-parse ang JSON:

def get_ex_from_iq_data(exc_json): ibalik { 'buy': exc_json['b'], 'sale': exc_json['s'] }

Kinahanglan nimo ang pipila pa nga mga pamaagi: pananglitan, get_exchange_diff, nga nagbasa sa daan ug bag-ong kasayuran bahin sa kantidad sa mga kuwarta ug gipakita ang kalainan.

def get_exchange_diff(katapusan, karon): balik { 'sale_diff': float("%.6f" % (float(karon ['sale']) - float(katapusan ['sale']))), 'buy_diff': float ("%.6f" % (float(karon['buy']) - float(last['buy']))) }

Ang katapusan, get_edited_signature, nagpakita sa panahon nga ang kurso katapusang gi-update.

def get_edited_signature(): ibalik 'Gi-update ' + str(datetime.datetime.now(P_TIMEZONE).strftime('%H:%M:%S')) + '(' + TIMEZONE_COMMON_NAME + ')'

Ingon usa ka sangputanan, ang gi-update nga mensahe gikan sa bot nga adunay usa ka lig-on nga exchange rate ingon niini:

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Kung nagbag-o ang kurso, ang mga kalainan tali sa mga kantidad gipakita sa mensahe tungod sa gireseta nga mga parameter.

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Lakang 9: Implementasyon sa Embedded Mode

Ang built-in nga mode gikinahanglan aron dali nga makapadala og impormasyon gikan sa programa ngadto sa bisan unsang chat - karon dili na nimo kinahanglan nga magdugang og bot sa panag-istoryahanay isip usa ka partisipante. Kung ang usa ka Telegram nga tiggamit mosulod sa usa ka ngalan sa bot nga adunay @ sign sa atubangan niini, ang mga kapilian sa pagkakabig kinahanglan nga makita sa ibabaw sa linya sa input. Kung nag-klik ka sa usa sa mga butang, ang bot magpadala usa ka mensahe sa panag-istoryahanay nga adunay mga resulta ug mga buton alang sa pag-update ug pagpadala sa datos. Ang ngalan sa nagpadala adunay kapsyon nga "pinaagi ".

Ang InlineQuery gipasa sa query_text pinaagi sa librarya. Ang code naggamit sa answer_line function aron makuha ang mga resulta sa pagpangita isip usa ka han-ay sa datos ug ang inline_query_id nga elemento. Gigamit namo ang get_exchanges aron ang bot makapangita ug daghang mga kwarta kon hangyoon.

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

Gipasa namo ang usa ka laray sa mga datos sa get_iq_articles aron mabalik ang mga butang gikan sa InlineQueryResultArticle pinaagi niini nga pamaagi.

def get_iq_articles(binayloay): resulta = [] para sa exc sa pagbaylo: resulta.append( telebot.types.InlineQueryResultArticle( id=exc['ccy'], title=exc['ccy'], input_message_content=telebot.types.InputTextMessageContent ( serialize_ex(exc), parse_mode='HTML' ), reply_markup=get_update_keyboard(exc), description='Convert ' + exc['base_ccy'] + ' -> ' + exc['ccy'], thumb_height=1 ) ) resulta sa pagbalik

Karon, kung magsulat ka @ ug usa ka luna sa linya, ang mga resulta sa pagpangita makita sa screen - mga kapilian sa pag-convert ngadto sa tulo ka magamit nga kwarta.

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Ang mga tiggamit makahimo sa pagsala sa mga resulta pinaagi sa pagsulod sa gusto nga kwarta.

Pagkahuman sa pag-klik sa gusto nga salapi gikan sa lista, ang chat makadawat sa parehas nga mensahe nga nadawat sa mga tiggamit sa bot. Mahimo usab nimo gamiton ang Update button. Ang hulagway sa ubos nagpakita sa updated nga mensahe nga gipadala pinaagi sa bot:

Telegram bot sa Python. Usa ka kompleto nga giya sa pagsulat sa usa ka bot nga adunay mga exchange rate gikan sa wala

Panapos

Karon nahibal-an na nimo kung giunsa paghimo ang usa ka bot alang sa Telegram. Mahimo nimong idugang ang mapuslanon nga mga himan sa imong programa: mga buton alang sa pag-update ug pagpadala sa resulta sa ubang mga tiggamit sa messenger ug usa ka built-in nga mode nga nagtugot kanimo sa paggamit sa mga gimbuhaton sa bot sa gawas sa chat uban niini. Pinasukad sa kini nga panudlo, mahimo ka maghimo bisan unsang yano nga bot nga adunay uban nga mga gimbuhaton - dili lamang ang usa nga magpakita sa mga rate sa pagbaylo. Ayaw kahadlok nga mag-eksperimento sa mga librarya, API, ug code aron makahimo usa ka awtomatiko nga katabang nga makig-chat sa mga kostumer sa Telegram ug mapalig-on ang koneksyon sa mga interesado sa kompanya.

1 Comment

  1. Fantastica publicación

Leave sa usa ka Reply