Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Tha bots ann an Telegram nam prògraman a chuidicheas le bhith a’ stèidheachadh conaltradh leis an luchd-èisteachd no a’ sìmpleachadh gnìomhan a dh’ fheumadh a bhith air an coileanadh le làimh roimhe seo. Tha na prògraman sin air an sgrìobhadh gu sònraichte airson an àrd-ùrlar teachdaire. Bidh bots ag obair san dòigh seo: bidh an neach-cleachdaidh a’ cur àithne tron ​​​​loidhne cuir a-steach, agus bidh an siostam a’ freagairt le teacsa no teachdaireachd eadar-ghnìomhach. Aig amannan bidh am prògram eadhon a ’dèanamh atharrais air gnìomhan fìor dhuine - bidh bot mar sin a’ brosnachadh barrachd earbsa am measg luchd-ceannach.

Tha grunn sheòrsaichean de shiostaman ann airson taic fèin-ghluasadach do luchd-cleachdaidh. Bidh cuid de bhotan dìreach a’ conaltradh ri luchd-ceannach, cuid eile a’ toirt seachad fiosrachadh gu cunbhalach. Tha e do-dhèanta prògraman a roinn gu soilleir ann an seòrsachan - bidh luchd-leasachaidh gu tric a’ cothlamadh grunn ghnìomhan ann an aon bot.

Faodaidh tu bot sìmplidh a sgrìobhadh airson Telegram le eileamaidean eadar-ghnìomhach ann an cruth putanan air-sgrion ann an 9 ceumannan. Bheir sinn sùil mhionaideach air gach fear dhiubh agus freagair beagan cheistean:

  • mar a thòisicheas tu bot;
  • mar a chlàras tu meur-chlàr togte bho aon phutan no barrachd;
  • mar a nì thu prògramadh na putanan airson na gnìomhan a tha thu ag iarraidh;
  • dè a th’ ann am modh in-loidhne agus mar a shuidhicheas tu e airson bot a th’ ann mar-thà.

Ceum 0: cùl-fhiosrachadh teòiridheach mun API bots Telegram

Is e am prìomh inneal a thathas a’ cleachdadh gus botaichean Telegram a chruthachadh an Eadar-aghaidh Prògramadh Iarrtas HTML, no HTML API. Bidh an eileamaid seo a’ gabhail ri iarrtasan luchd-tadhail agus a’ cur freagairtean ann an cruth fiosrachaidh. Bidh dealbhaidhean deiseil a 'sìmpleachadh an obair air a' phrògram. Gus bot a sgrìobhadh airson Telegram, feumaidh tu an seòladh puist-d seo a chleachdadh: https://api.telegram.org/bot/METHOD_NAME

Airson obrachadh ceart a’ bhot, tha feum air tòcan cuideachd - measgachadh de charactaran a dhìonas am prògram agus a dh’ fhosglas ruigsinneachd air do luchd-leasachaidh earbsach. Tha gach soidhne sònraichte. Tha an sreang air a shònrachadh don bot nuair a thèid a chruthachadh. Faodaidh dòighean a bhith eadar-dhealaichte: getUpdates, getChat agus feadhainn eile. Tha an roghainn dòigh an urra ris an algairim a tha an luchd-leasachaidh a’ dùileachadh bhon bot. Eisimpleir suaicheantas:

123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Bidh bots a’ cleachdadh iarrtasan GET agus POST. Gu tric feumar cur ris na paramadairean dòigh - mar eisimpleir, nuair a tha còir aig an dòigh sendMessage an id cabadaich agus beagan teacsa a chuir. Faodar paramadairean airson ùrachadh modh a thoirt seachad mar sreang ceist URL a’ cleachdadh application/x-www-form-urlencoded no tro application-json. Chan eil na dòighean sin freagarrach airson faidhlichean a luchdachadh sìos. Tha feum air còdachadh UTF-8 cuideachd. Le bhith a’ cur iarrtas chun API, gheibh thu an toradh ann an cruth JSON. Thoir sùil air freagairt a’ phrògraim mu bhith a’ faighinn fiosrachadh air ais tro mhodh getME:

FAIGH https://api.telegram.org/bot/getMe{ ceart gu leòr: fìor, toradh: { id: 231757398, first_name: "Bot ìre iomlaid", ainm-cleachdaidh: "exchangetestbot" } }

Gheibhear an toradh ma tha ok co-ionann fìor. Rud eile, seallaidh an siostam mearachd.

Tha dà dhòigh air teachdaireachdan àbhaisteach fhaighinn ann am botaichean. Tha an dà dhòigh èifeachdach, ach tha iad freagarrach ann an diofar chùisean. Gus teachdaireachdan fhaighinn, faodaidh tu iarrtas a sgrìobhadh le làimh leis an dòigh getUpdates - seallaidh am prògram an raon dàta Update air an sgrion. Feumar iarrtasan a chuir gu cunbhalach, às deidh mion-sgrùdadh a dhèanamh air gach sreath, thèid an cur a-rithist. Is e paramadair a th’ ann an Offset a cho-dhùineas an àireamh de chlàran a chaidh a leum mus luchdaichear toradh ùr gus nach bi nithean sgrùdaichte a’ nochdadh a-rithist. Thig buannachdan an dòigh getUpdates a-steach ma tha:

  • chan eil dòigh ann HTTPS a rèiteachadh;
  • tha cànanan sgrioptachaidh iom-fhillte gan cleachdadh;
  • bidh am frithealaiche bot ag atharrachadh bho àm gu àm;
  • tha am bot air a luchdachadh le luchd-cleachdaidh.

Is e an dàrna dòigh a dh'fhaodar a sgrìobhadh gus teachdaireachdan luchd-cleachdaidh fhaighinn setWebhook. Tha e air a chleachdadh aon uair, chan eil feum air iarrtasan ùra a chuir a-steach gu cunbhalach. Bidh an duilleag-lìn a’ cur ùrachaidhean dàta chun URL ainmichte. Feumaidh an dòigh seo teisteanas SSL. Bidh webook feumail anns na cùisean seo:

  • tha cànanan prògramadh lìn gan cleachdadh;
  • chan eil am bot air a luchdachadh cus, chan eil cus luchd-cleachdaidh ann;
  • chan atharraich am frithealaiche, bidh am prògram air an aon fhrithealaiche airson ùine mhòr.

Ann an tuilleadh stiùiridh, cleachdaidh sinn getUpdates.

Tha an t-seirbheis @BotFather Telegram air a dhealbhadh gus botaichean cabadaich a chruthachadh. Tha roghainnean bunaiteach cuideachd air an suidheachadh tron ​​​​t-siostam seo - cuidichidh BotFather thu gus tuairisgeul a dhèanamh, cuir dealbh pròifil, cuir innealan taic ris. Tha leabharlannan - seataichean de dh'iarrtasan HTML airson botaichean Telegram - rim faighinn air an eadar-lìon, tha tòrr dhiubh ann. Nuair a chaidh am prògram eisimpleir a chruthachadh, chaidh pyTelegramBotApi a chleachdadh.

Ceum 1: Cur an gnìomh iarrtasan reata iomlaid

An toiseach feumaidh tu an còd a sgrìobhadh a nì ceistean. Cleachdaidh sinn nuair a bhios sinn a’ sgrìobhadh an PrivatBank API, gu h-ìosal tha ceangal ris: https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5. Feumaidh tu na dòighean seo a chleachdadh sa chòd agad:

  • load_exchange - a 'lorg ìrean iomlaid agus a' taisbeanadh fiosrachadh còdaichte;
  • get_exchange - a 'taisbeanadh dàta mu airgead sònraichte;
  • get_exchanges - a 'sealltainn liosta de airgeadan a rèir an sampall.

Mar thoradh air an sin, tha coltas mar seo air a’ chòd san fhaidhle pb.py:

ion-phortadh iarrtasan airson in-mhalairt json URL = 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5' def load_exchange(): tilleadh json.loads(requests.get(URL).text) def get_exchange(ccy_key ): airson exc ann an load_exchange (): ma tha ccy_key == exc ['ccy']: till air ais às aonais tilleadh False def get_exchanges(ccy_pattern): toradh = [] ccy_pattern = re.escape(ccy_pattern) + '.*' airson exc in load_exchange(): mura h-eil re.match(ccy_pattern, exc ['ccy'], re.IGNORECASE) gin: toradh.append(exc) toradh tilleadh

Faodaidh am prògram am freagairt a leanas a thoirt do na h-iarrtasan ainmichte:

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

Ceum 2: Cruthaich Telegram Bot le @BotFather

Faodaidh tu prògram a chruthachadh airson teachdaireachdan fhaighinn agus freagairt a thoirt dhaibh a’ cleachdadh an t-seirbheis @BotFather. Rach gu duilleag Telegram agus cuir a-steach an àithne / newbot. Nochdaidh stiùireadh anns a ’chat, a rèir am feum thu ainm a’ bot a sgrìobhadh sìos an toiseach, agus an uairsin an seòladh aige. Nuair a thèid an cunntas bot a chruthachadh, nochdaidh teachdaireachd fàilte anns a bheil tòcan air an sgrion. Airson tuilleadh rèiteachaidh, cleachd na h-òrdughan seo:

  • / tuairisgeul seata - tuairisgeul;
  • / setabouttext - fiosrachadh mun bot ùr;
  • / setuserpic - dealbh pròifil;
  • / setinline - modh in-loidhne;
  • / setcommands - tuairisgeul air òrdughan.

Aig a’ cheum rèiteachaidh mu dheireadh, bidh sinn a’ toirt cunntas air / help and / exchange. Nuair a bhios na ceumannan gu lèir deiseil, tha an t-àm ann gluasad air adhart gu còdadh.

Ceum 3: A 'stèidheachadh agus a' cur air bhog am Bot

Nach cruthaich sinn faidhle config.py. Ann, feumaidh tu an còd bot sònraichte agus an raon ùine anns am faigh am prògram fiosrachadh a shònrachadh.

TOKEN = '' # cuir an àite tòcan do bhot na àite = 'An Roinn Eòrpa/Kiev' TIMEZONE_COMMON_NAME = 'Kiev'

An uairsin, cruthaichidh sinn faidhle eile le toirt a-steach am pb.py a chaidh a sgrìobhadh roimhe, leabharlannan agus co-phàirtean riatanach eile. Tha na leabharlannan a tha a dhìth air an stàladh bhon t-siostam riaghlaidh pacaid (pip).

ion-phortadh telebotimport configimport pbimport ceann-latha ion-phortadh pytzimport jsonimport traceback P_TIMEZONE = pytz.timezone(config.TIMEZONE) TIMEZONE_COMMON_NAME = config.TIMEZONE_COMMON_NAME

Cleachdaidh sinn susbaint pyTelegramBotApi gus bot a chruthachadh. Bidh sinn a’ cur an tòcan a fhuair sinn a’ cleachdadh a’ chòd a leanas:

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

Bidh am paramadair none_stop a’ dèanamh cinnteach gun tèid iarrtasan a chuir gu cunbhalach. Cha toir mearachdan modh buaidh air obrachadh a’ pharamadair.

Ceum 4: Sgrìobh an / tòiseachadh Command Handler

Ma thèid na ceumannan roimhe seo a dhèanamh ceart, tha am bot air tòiseachadh ag obair. Bidh am prògram a’ gineadh iarrtasan gu cunbhalach leis gu bheil e a’ cleachdadh modh getUpdates. Ron loidhne leis an eileamaid none_stop, feumaidh sinn pìos còd a bhios a’ pròiseasadh an àithne / tòiseachaidh:

@bot.message_handler(commands=['start']) def start_command(message): bot.send_message( message.chat.id, ' Beannachdan! 'S urrainn dhomh ìrean iomlaid a shealltainn dhut.n' + 'Gus na h-ìrean iomlaid fhaighinn brùth / exchange.n' + 'Gus cuideachadh fhaighinn brùth / cuideachadh.' )

RџSВRё àitheantan=['tòiseachadh'] co-ionann ri True start_command ris an canar. Tha susbaint na teachdaireachd a’ dol ann. An ath rud, feumaidh tu an gnìomh cuir a chuir an gnìomh_teachdaireachd co-cheangailte ri teachdaireachd shònraichte.

Ceum 5: Cruthaich / cuideachadh Command Handler

Faodar an àithne / cuideachaidh a chuir an gnìomh mar phutan. Le bhith a’ cliogadh air, thèid an neach-cleachdaidh a thoirt gu cunntas Telegram an leasaiche. Thoir ainm don phutan, mar “Faighnich don leasaiche”. Suidhich am paramadair reply_markup, a bhios ag ath-stiùireadh an neach-cleachdaidh gu ceangal, airson an dòigh send_message. Sgrìobhamaid sa chòd am paramadair a chruthaicheas am meur-chlàr (InlineKeyboardMarkup). Chan fheum thu ach aon phutan (InlineKeyboardButton).

Tha an còd làimhseachaidh àithne mu dheireadh a’ coimhead mar seo:

@bot.message_handler(commands=['help']) def help_command(message): keyboard = telebot.types.InlineKeyboardMarkup() keyboard.add( telebot.types.InlineKeyboardButton( 'Faighnich don leasaiche', url='ваша ссылка на на профиль' ) ) bot.send_message( message.chat.id, '1) Gus liosta fhaighinn de na h-airgeadan a tha rim faighinn brùth /exchange.n' + '2) Cliog air an airgead-crìche anns a bheil ùidh agad.n' + '3) Thu gheibh thu teachdaireachd anns a bheil fiosrachadh mun stòr agus na h-airgeadan targaid, '+' reataichean ceannach is reic.n' + '4) Briog air "Ùraich" gus am fiosrachadh làithreach fhaighinn mun iarrtas. ' + 'Seallaidh am bot cuideachd an diofar eadar na h-ìrean iomlaid roimhe agus an-dràsta.n' + '5) Tha am bot a' toirt taic do inline. Seòrsa @ ann an cabadaich sam bith agus na ciad litrichean de airgead-crìche.', reply_markup = meur-chlàr )

Gnìomh còd ann an còmhradh Telegram:

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Ceum 6: A 'cur ris an / iomlaid Command Handler

Tha feum air a’ cheum seo gus putanan a thaisbeanadh le samhlaidhean de airgeadan a tha rim faighinn sa chat. Cuidichidh meur-chlàr air-sgrion le roghainnean thu gus mearachdan a sheachnadh. Bidh PrivatBank a’ toirt seachad fiosrachadh mun rubles, dolar agus euro. Bidh an roghainn InlineKeyboardButton ag obair mar seo:

  1. Cliogaidh an neach-cleachdaidh air a’ phutan leis an t-sònrachadh a tha thu ag iarraidh.
  2. gheibh getUpdates fios air ais (CallbackQuery).
  3. Bidh e aithnichte mar a làimhsicheas tu putadh air a’ mheur-chlàr - tha fiosrachadh mun phutan brùthaichte air a ghluasad.

/ còd làimhseachaidh iomlaid:

@bot.message_handler(commands=['exchange']) def exchange_command(message): meur-chlà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, 'Briog air an airgead a thagh thu:', reply_markup = meur-chlàr )

Toradh a’ chòd ann an Telegram:

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Ceum 7: A 'sgrìobhadh inneal-làimhe airson na putanan meur-chlàr togte

Anns a’ phacaid pyTelegramBot Api tha gnìomh sgeadachaidh @bot.callback_query_handler. Tha am pàirt seo air a dhealbhadh gus an gairm air ais a thionndadh gu gnìomh - bidh an API a’ sgaoileadh agus ag ath-chruthachadh a ’ghairm. Tha e air a litreachadh mar seo:

@bot.callback_query_handler(func=gairm lambda: Fìor) def iq_callback(ceist): data = ceist.data ma tha data.startswith('get-'): get_ex_callback(ceist)

Sgrìobhaidh sinn cuideachd am modh get_ex_callback:

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

Tha dòigh feumail eile ann – answer_callback_query. Bidh e a’ cuideachadh le bhith a’ toirt air falbh an luchd eadar putadh air a’ phutan agus an toradh a thaisbeanadh air an sgrion. Faodaidh tu teachdaireachd a chuir gu send_exchange_query le bhith a’ dol seachad air cuid de chòd airgead agus Teachdaireachd. Sgrìobhamaid send_exchange_result:

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

Fhad ‘s a gheibh an chatbot toradh an iarrtais bhon bhanca API, chì an neach-tadhail an sgrìobhadh “a’ taipeadh teachdaireachd ”. Tha e coltach gu bheil fìor dhuine a’ freagairt. Gus an leithid de thaisbeanair a thaisbeanadh air an sgrion, feumaidh tu loidhnichean inbhe cuir a-steach a chuir ris. An ath rud, cleachdaidh sinn get_exchange - le a chuideachadh, gheibh am prògram an sònrachadh airgead (rubles, iùro no dhollairean). Bidh send_message a’ cleachdadh dhòighean a bharrachd: bidh serialize_ex ag atharrachadh an airgead gu cruth eile, agus bidh get_update_keyboard a’ stèidheachadh iuchraichean bog a bhios ag ùrachadh fiosrachadh agus a’ cur dàta margaidh airgead gu cabadaich eile.

Sgrìobhamaid an còd airson get_update_keyboard. Feumar iomradh a thoirt air dà phutan - tha t agus e a’ seasamh airson seòrsa agus iomlaid. Tha feum air an rud switch_inline_query airson a’ phutan Share gus an urrainn don neach-cleachdaidh taghadh bho ghrunn chòmhraidhean. Bidh an neach-tadhail comasach air taghadh cò dha a chuireas iad an ìre iomlaid gnàthach den dolar, rubles no 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 ['ceannach'], 's': ex ['reic'], 'c': ex ['ccy'] } }). cuir an àite ('', '') ), telebot.types.InlineKeyboardButton ('Share', switch_inline_query=ex['ccy']) ) meur-chlàr tilleadh

Uaireannan feumaidh tu faicinn mar a tha an ìre iomlaid air atharrachadh ann an ùine ghoirid. Nach sgrìobh sinn dà dhòigh airson a’ phutan Ùrachadh gus am faic luchd-cleachdaidh cùrsaichean an coimeas.

Thèid an eadar-dhealachadh eadar na h-ìrean iomlaid a chuir chun t-sreathaiche tron ​​​​parameter diff.

Bidh na dòighean òrdaichte ag obair dìreach às deidh an dàta ùrachadh, cha toir iad buaidh air a’ chiad taisbeanadh den chùrsa.

def serialize_ex(ex_json, diff=Chan eil gin): toradh = '' + ex_json [ 'base_ccy'] + ' -> ' + ex_json ['ccy'] + ':nn' + 'Ceannaich:' + ex_json['buy'] if diff: result += '' + serialize_exchange_diff(dif['buy_diff']) + 'n' + 'Sell:' + ex_json['sale'] +' ' + serialize_exchange_diff(diff['sale_diff']) + 'n' else: result += 'nSell: ' + ex_json['sale'] + 'n' tilleadh toradh def serialize_exchange_diff(diff): result = '' ma tha diff > 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 tilleadh

Smaoinich gu robh an neach-tadhail airson faighinn a-mach dè an ìre iomlaid dolar. Seo na thachras ma thaghas tu USD san teachdaireachd:

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Ceum 8: Cur an gnìomh a 'phutan ùrachadh Handler

Sgrìobhamaid an còd airson gnìomhan a làimhseachadh leis a 'phutan Update agus cuir am pàirt iq_callback_method ris. Nuair a thòisicheas nithean prògraim leis a’ pharamadair faighinn, feumaidh tu sgrìobhadh get_ex_callback. Ann an suidheachaidhean eile, bidh sinn a’ parsadh JSON agus a’ feuchainn ris an iuchair t.

@bot.callback_query_handler(func=gairm lambda: Fìor) def iq_callback(ceist): data = query.data ma tha data.startswith('get-'): get_ex_callback(ceist) eile: feuch: ma tha json.loads(data)[ 't'] == 'u': edit_message_callback(ceist) ach a-mhàin ValueError: pas

Ma tha t co-ionann riut, feumaidh tu prògram a sgrìobhadh airson an dòigh edit_message_callback. Leig leinn briseadh sìos air a 'phròiseas seo ceum air cheum:

  1. A’ luchdachadh sìos an fhiosrachaidh as ùire mu staid a’ mhargaidh airgid (exchange_now = pb.get_exchange (dàta ['c']).
  1. A’ sgrìobhadh teachdaireachd ùr tro serializer le diff.
  2. A' cur ainm-sgrìobhte ris (get_edited_signature).

Mura atharraich a’ chiad teachdaireachd, cuir fios gu modh edit_message_text.

def edit_message_callback( ceist): 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() ma tha 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' ) ann an ceist_elif_message : bot.edit_message_text( text, inline_message_id=query.inline_message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML' )

Sgrìobhamaid am modh get_ex_from_iq_data gus JSON a pharsadh:

def get_ex_from_iq_data (exc_json): tilleadh { 'ceannach': exc_json ['b'], 'reic': exc_json['s'] }

Bidh feum agad air beagan dhòighean a bharrachd: mar eisimpleir, get_exchange_diff, a leughas an seann fhiosrachadh agus an fhiosrachadh ùr mu chosgais airgeadan agus a sheallas an diofar.

def get_exchange_diff (mu dheireadh, a-nis): till { 'sale_diff': fleòdradh ("%.6f" % (fleòdradh (an-dràsta ['reic']) - fleòdradh (mu dheireadh ['reic']))), 'buy_diff': fleòdradh ("%.6f" % (fleòdradh (an-dràsta ['buy']) - fleòdradh (mu dheireadh ['ceannach']))) }

Tha am fear mu dheireadh, get_edited_signature, a’ sealltainn an uair a chaidh an cùrsa ùrachadh mu dheireadh.

def get_edited_signature(): tilleadh 'Air ùrachadh ' + str(datetime.datetime.now(P_TIMEZONE).strftime('%H:%M:%S')) +' ('+TIMEZONE_COMMON_NAME+')'

Mar thoradh air an sin, tha an teachdaireachd ùraichte bhon bot le ìre iomlaid seasmhach a ’coimhead mar seo:

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Nuair a bhios an cùrsa ag atharrachadh, tha na h-eadar-dhealachaidhean eadar na luachan air an taisbeanadh anns an teachdaireachd air sgàth nam paramadairean òrdaichte.

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Ceum 9: Gnìomhachadh Modh Leabaichte

Tha feum air am modh togte gus fiosrachadh bhon phrògram a chuir gu cabadaich sam bith gu sgiobalta - a-nis chan fheum thu bot a chuir ris a’ chòmhradh mar chom-pàirtiche. Nuair a chuireas neach-cleachdaidh Telegram a-steach ainm bot le soidhne @ air a bheulaibh, bu chòir roghainnean tionndaidh nochdadh os cionn na loidhne cuir a-steach. Ma bhriogas tu air aon de na nithean, cuiridh am bot teachdaireachd chun a’ chòmhraidh leis na toraidhean agus putanan airson dàta ùrachadh agus a chuir. Bidh an tiotal “via ".

Thèid InlineQuery a chuir gu query_text tron ​​leabharlann. Cleachdaidh an còd an gnìomh answer_line gus na toraidhean rannsachaidh fhaighinn air ais mar raon dàta agus an eileamaid inline_query_id. Bidh sinn a’ cleachdadh get_exchanges gus am faigh am bot grunn airgeadan ma thèid an iarraidh.

@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)))

Bheir sinn seachad raon de dhàta gu get_iq_articles gus nithean a thilleadh bho InlineQueryResultArticle tron ​​​​dòigh seo.

def get_iq_articles(iomlaidean): toradh = [] airson exc ann an iomlaidean: result.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 = 'Tionndaidh' + exc ['base_ccy'] + ' -> ' + exc ['ccy'], thumb_height = 1 ) ) toradh air ais

A-nis, ma sgrìobhas tu @ agus àite san loidhne, nochdaidh na toraidhean rannsachaidh air an sgrion - roghainnean airson tionndadh gu trì airgeadan a tha rim faighinn.

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Faodaidh luchd-cleachdaidh na toraidhean a shìoladh le bhith a’ dol a-steach don airgead-crìche a tha iad ag iarraidh.

Às deidh dhut briogadh air an airgead a tha thu ag iarraidh bhon liosta, gheibh an cabadaich an aon teachdaireachd a gheibh luchd-cleachdaidh bot. Faodaidh tu cuideachd am putan Update a chleachdadh. Tha an dealbh gu h-ìosal a’ sealltainn an teachdaireachd ùraichte a chaidh a chuir tron ​​​​bot:

Telegram bot ann am python. Iùl coileanta mu bhith a’ sgrìobhadh bot le ìrean iomlaid bhon fhìor thoiseach

Co-dhùnadh

A-nis tha fios agad mar a chruthaicheas tu bot airson Telegram. Faodaidh tu innealan feumail a chur ris a’ phrògram agad: putanan airson an toradh ùrachadh agus a chuir gu luchd-cleachdaidh eile an teachdaire agus modh togte a leigeas leat gnìomhan a’ bhot a chleachdadh taobh a-muigh a’ chat leis. Stèidhichte air an stiùireadh seo, faodaidh tu bot sìmplidh sam bith a chruthachadh le gnìomhan eile - chan e a-mhàin am fear a sheallas ìrean iomlaid. Na biodh eagal ort feuchainn air leabharlannan, APIan, agus còd gus neach-cuideachaidh fèin-ghluasadach a chruthachadh a bhios a’ cabadaich le teachdaichean air Telegram agus a neartaicheas ceangal dhaoine le ùidh sa chompanaidh.

1 beachd ann

Leave a Reply