Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Bot di Telegram de bername ne ku ji bo danîna têkiliya bi temaşevanan re an jî hêsankirina kiryarên ku berê diviyabû bi destan bihatana kirin alîkar in. Ev bername bi taybetî ji bo platforma peyamberê hatine nivîsandin. Bot bi vî rengî dixebitin: bikarhêner bi rêza têketinê fermanek dişîne, û pergal bi nivîsek an peyamek înteraktîf bersiv dide. Carinan bername tevgerên kesek rastîn jî teqlîd dike - botek wusa di nav xerîdaran de bêtir pêbaweriyê vedike.

Ji bo arîkariya otomatîkî ji bikarhêneran re çend celeb pergalê hene. Hin bot tenê bi xerîdaran re diaxivin, yên din bi rêkûpêk agahdarî peyda dikin. Ne gengaz e ku meriv bi zelalî bernameyan li celeban dabeş bike - pêşdebiran bi gelemperî çend fonksiyonan di yek botê de berhev dikin.

Hûn dikarin ji bo Telegram-ê bi hêmanên înteraktîf di 9 gavan de bişkokên li ser ekranê botek hêsan binivîsin. Ka em bi hûrgulî li her yek ji wan binêrin û çend pirsan bersiv bidin:

  • meriv çawa botek dest pê dike;
  • meriv çawa klavyeyek çêkirî ji yek an çend bişkokan tomar dike;
  • meriv çawa bişkokên ji bo fonksiyonên xwestî bername dike;
  • moda hundurîn çi ye û meriv wê çawa ji bo botek heyî saz dike.

Gav 0: paşxaneya teorîkî ya di derbarê API-ya botên Telegram de

Amûra sereke ku ji bo afirandina botên Telegram-ê tê bikar anîn Navbera Bernamesaziya Serlêdana HTML, an API-ya HTML-ê ye. Ev hêman daxwazên mêvanan qebûl dike û bersivan di forma agahdariyê de dişîne. Sêwiranên amade karê li ser bernameyê hêsan dike. Ji bo nivîsandina botek ji bo Telegram, divê hûn vê navnîşana e-nameyê bikar bînin: https://api.telegram.org/bot/METHOD_NAME

Ji bo xebitandina rast a botê, nîşanek jî hewce ye - berhevokek karakteran ku bernameyê diparêze û gihîştina wê ji pêşdebirên pêbawer re vedike. Her token yekta ye. String piştî afirandinê ji botê re tê destnîşankirin. Rêbaz dikarin cûda bin: getUpdates, getChat û yên din. Hilbijartina rêbazê bi kîjan algorîtmayê ve girêdayî ye ku pêşdebiran ji botê hêvî dikin. Mînaka nîşanê:

123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Bot daxwazên GET û POST bikar tînin. Parametreyên rêbazê bi gelemperî pêdivî ye ku bêne zêdekirin - mînakî, gava ku rêbaza sendMessage tê xwestin ku nasnameya chatê û hin nivîsê bişîne. Parametreyên ji bo safîkirina rêbazê dikare wekî rêzika pirsê ya URL-ê bi karanîna serîlêdanê/x-www-form-urlencoded an bi serîlêdana-json ve were derbas kirin. Ev rêbaz ji bo daxistina pelan ne minasib in. Kodkirina UTF-8 jî hewce ye. Bi şandina daxwazek ji API-yê re, hûn dikarin encamê bi formata JSON bistînin. Awirek li bersiva bernameyê ji bo wergirtina agahdariya bi rêbaza getME:

BİXWÎNE https://api.telegram.org/bot/getMe{ ok: rast, encam: { id: 231757398, yekem_nav: "Botê rêjeya danûstendinê", navê bikarhêner: "exchangetestbot" } }

Encam dê were bidestxistin heke ok wekhev rast. Wekî din, pergalê dê xeletiyek nîşan bide.

Du away hene ku hûn di botan de peyamên xwerû bistînin. Her du rêbaz bi bandor in, lê di rewşên cûda de minasib in. Ji bo wergirtina peyaman, hûn dikarin bi rêbaza getUpdates bi destan daxwazek binivîsin - bername dê rêzika daneya Nûvekirinê li ser ekranê nîşan bide. Pêdivî ye ku daxwaz bi rêkûpêk bêne şandin, piştî analîzkirina her array, şandin dubare dibe. Offset pîvanek e ku berî barkirina encamek nû jimara tomarên paşveçûyî destnîşan dike da ku ji nû ve xuyabûna tiştên hatine kontrol kirin dûr bixin. Feydeyên rêbaza getUpdates dê werin lîstikê heke:

  • rê tune ku meriv HTTPS-ê mîheng bike;
  • zimanên nivîsandinê yên tevlihev têne bikar anîn;
  • servera botê dem bi dem diguhere;
  • bot bi bikarhêneran tê barkirin.

Rêbaza duyemîn ku ji bo wergirtina peyamên bikarhêner dikare were nivîsandin setWebhook e. Ew carekê tê bikar anîn, ne hewce ye ku bi berdewamî daxwazên nû bişîne. Webhook nûvekirinên daneyê ji URL-ya diyarkirî re dişîne. Vê rêbazê belgeyek SSL hewce dike. Webhook dê di van rewşan de bikêr be:

  • zimanên bernameya webê têne bikaranîn;
  • bot zêde ne barkirî ye, ne pir bikarhêner hene;
  • server naguhere, bername demeke dirêj li ser heman serverê dimîne.

Di rêwerzên din de, em ê getUpdates bikar bînin.

Karûbarê @BotFather Telegram ji bo afirandina botên chatê hatî çêkirin. Mîhengên bingehîn jî bi vê pergalê ve têne danîn - BotFather dê ji we re bibe alîkar ku hûn ravekek çêbikin, wêneyek profîlê deynin, amûrên piştgiriyê lê zêde bikin. Pirtûkxane - komek daxwazên HTML-ê ji bo botên Telegram - li ser Înternetê hene, gelek ji wan hene. Dema afirandina bernameya nimûne, pyTelegramBotApi hate bikar anîn.

Gav 1: Pêkanîna Daxwazên Rêjeya Danûstendinê

Pêşî hûn hewce ne ku koda ku pirsan dike binivîsin. Em ê dema ku API-ya PrivatBank dinivîsin bikar bînin, li jêr lînka wê heye: https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5. Pêdivî ye ku hûn van rêbazan di koda xwe de bikar bînin:

  • load_exchange - rêjeyên danûstendinê dibîne û agahdariya kodkirî nîşan dide;
  • get_exchange - daneyên li ser pereyek taybetî nîşan dide;
  • get_exchanges - li gorî nimûneyê navnîşa diravan nîşan dide.

Wekî encamek, koda di pelê pb.py de wiha xuya dike:

import ji nû ve import daxwazên import json URL = 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5' def load_exchange(): vegere json.loads(requests.get(URL).text) def get_exchange(ccy_key ): ji bo exc di load_exchange(): eger ccy_key == exc['ccy']: vegere exc Vegere Def get_exchanges(ccy_pattern): encam = [] ccy_pattern = re.escape(ccy_pattern) + '.*' ji bo exc di load_exchange(): heke re.match(ccy_pattern, exc['ccy'], re.IGNORECASE) ne Tune: result.append(exc) encama vegere

Bername dikare li ser daxwazên diyarkirî bersiva jêrîn bide:

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

Gav 2: Bi @BotFather re Botek Telegram biafirînin

Hûn dikarin bi karûbarê @BotFather bernameyek ji bo wergirtina peyaman û bersivdana wan biafirînin. Herin rûpela wî ya Telegramê û fermana /newbot têkevin. Talîmat dê di chatê de xuya bibin, li gorî ku hûn hewce ne ku pêşî navê botê, û paşê navnîşana wê binivîsin. Dema ku hesabê botê were çêkirin, dê peyamek bi xêr hatî ku tê de nîşanek heye li ser ekranê xuya bibe. Ji bo veavakirina bêtir, van fermanan bikar bînin:

  • /setdescription - şirove;
  • /setabouttext - agahdariya li ser bota nû;
  • /setuserpic - wêneya profîlê;
  • /setinline - moda hundurîn;
  • /setcommands - danasîna fermanan.

Di gava paşîn a mîhengê de, em /alîkarî û /hevguhertinê vedibêjin. Dema ku hemî gavan qediyan, ew dem e ku meriv derbasî kodkirinê bibe.

Gav 3: Sazkirin û destpêkirina Botê

Ka em pelek config.py biafirînin. Di wê de, hûn hewce ne ku koda botê ya yekta û devera demjimêra ku bername tê de agahdarî bibîne diyar bikin.

TOKEN = '' # şûna bi nîşana botê xwe TIMEZONE = 'Ewropa/Kîev' TIMEZONE_COMMON_NAME = 'Kîev'

Dûv re, em bi îtxalkirina pb.py, pirtûkxane û hêmanên din ên pêwîst re pelek din diafirînin. Pirtûkxaneyên winda ji pergala rêveberiya pakêtê (pip) têne saz kirin.

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

Ka em naveroka pyTelegramBotApi bikar bînin da ku botek çêbikin. Em tokena wergirtî bi karanîna koda jêrîn dişînin:

bot = telebot.TeleBot(config.TOKEN) bot.polling(none_stop=Rast)

Parametreya none_stop piştrast dike ku daxwaz bi berdewamî têne şandin. Xebata parametreyê dê ji xeletiyên rêbazê neyê bandor kirin.

Gav 4: Rêvebira Fermana /destpêkê binivîsin

Heke hemî gavên berê rast têne kirin, bot dest bi xebatê kir. Bername bi rêkûpêk daxwazan diafirîne ji ber ku ew rêbaza getUpdates bikar tîne. Berî rêza bi hêmana none_stop, em hewceyê perçeyek kodê ye ku fermana /start pêvajoyê dike:

@bot.message_handler(ferman =['destpêk']) def start_command(peyam): bot.send_message( message.chat.id, 'Silav! Ez dikarim rêjeyên danûstendinê nîşanî we bidim.n' + 'Ji bo bidestxistina nirxan pêl / exchange.n' + 'Ji bo alîkariyê bigirî /help' )

RџСўРё ferman=['destpêkirin'] wekhevî Rast start_command tê gotin. Naveroka peyamê diçe wir. Piştre, hûn hewce ne ku fonksiyona şandinê bicîh bikin_agah têkildarî peyamek taybetî.

Gav 5: Rêvebirek Ferman /alîkariyê biafirînin

Fermana /help dikare wekî bişkokek were bicîh kirin. Bi tikandina li ser wê, bikarhêner dê li hesabê Telegramê ya pêşdebiran were girtin. Navekî bişkojkê bidin, wekî "Ji pêşdebir bipirsin". Parametreya reply_markup, ku bikarhêner ber bi lînkek beralî dike, ji bo rêbaza send_message saz bikin. Ka em di kodê de pîvana ku klavyeyê diafirîne (InlineKeyboardMarkup) binivîsin. Hûn tenê bişkokek hewce ne (InlineKeyboardButton).

Koda hilgirê fermana paşîn bi vî rengî xuya dike:

@bot.message_handler(commands=['alîkarî']) def help_command(peyam): klavyeya = telebot.types.InlineKeyboardMarkup() keyboard.add( telebot.types.InlineKeyboardButton( 'Ji pêşdebiran bipirse', url='ваша ссылка на ьь' ) ) bot.send_message( message.chat.id, '1) Ji bo wergirtina lîsteya diravên berdest çap bike /exchange.n' + '2) Li ser pereyê ku hûn jê re eleqedar in bikirtînin.n' + '3) Hûn dê peyamek ku di derheqê çavkanî û diravên armanc de agahdarî vedihewîne, ' + 'rêjeyên kirîn û rêjeyên firotanê.n' + '4) "Nûvekirin" bikirtînin da ku agahdariya heyî li ser daxwazê ​​bistînin. ' + 'Dê bot jî ferqa di navbera nirxa danûstendinê ya berê û ya niha de nîşan bide.n' + '5) Bot piştgirîya înline dike. Tîpa @ di her sohbetê de û herfên pêşîn ên pereyê.', reply_markup=klavyeya )

Çalakiya kodê di chat Telegram de:

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Gav 6: Zêdekirina Handler Fermana /exchange

Vê gavê hewce ye ku bişkojkên bi sembolên diravên berdest ên di chatê de nîşan bidin. Klavyeyek li ser ekranê ya bi vebijarkan dê ji we re bibe alîkar ku hûn ji xeletiyan dûr bisekinin. PrivatBank li ser ruble, dolar û euro agahdarî dide. Vebijarka InlineKeyboardButton bi vî rengî dixebite:

  1. Bikarhêner li ser bişkojka bi navnîşa xwestî bitikîne.
  2. getUpdates vegerek bangek (CallbackQuery) distîne.
  3. Tê zanîn ku meriv çawa bi pêlkirina klavyeyê re mijûl dibe - agahdariya li ser bişkoja pêçandî tê veguheztin.

/ koda birêveberê veguherînê:

@bot.message_handler(ferman =['exchange']) def exchange_command(peyam): klavyeya = 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, 'Li ser pereyê bijartî bikirtînin:', reply_markup=klavyeya )

Encama kodê di Telegram de:

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Gav 7: Ji bo bişkokên klavyeyê yên çêkirî destekek nivîsandin

Pakêta pyTelegramBot Api fonksiyona decoratorê @bot.callback_query_handler dihewîne. Ev hêman hatiye sêwirandin ku vegerandina bangê li fonksiyonek wergerîne - API bangê vedike û ji nû ve diafirîne. Bi vî awayî tê nivîsandin:

@bot.callback_query_handler(func=banga lambda: Rast) def iq_callback(pirsîn): data = query.data heke data.startswith('get-'): get_ex_callback(pirsîn)

Ka em rêbaza get_ex_callback jî binivîsin:

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

Rêbazek din a kêrhatî heye - answer_callback_query. Ew ji bo rakirina barkirinê di navbera pêlkirina bişkojkê û nîşandana encamê li ser ekranê de dibe alîkar. Hûn dikarin ji send_exchange_query re peyamek bişînin bi derbaskirina hin kodên dirav û Peyamê. Ka em send_exchange_result binivîsin:

def send_exchange_result(message, 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=getboard_update_ ), parse_mode='HTML')

Dema ku chatbot encama daxwazê ​​ji bankê distîne API, mêhvan nivîsa "nivîsandina peyamekê" dibîne. Wusa dixuye ku kesek rastîn bersiv dide. Ji bo ku nîşanek wusa li ser ekranê nîşan bidin, hûn ê hewce bikin ku xetên statûya têketinê zêde bikin. Dûv re, em ê get_exchange bikar bînin - bi alîkariya wê, bername dê navnîşa diravê (rûble, euro an dolar) bistîne. send_message rêbazên zêde bikar tîne: serialize_ex drav diguhezîne formatek din, û get_update_keyboard bişkokên nerm saz dike ku agahdarî nûve dike û daneyên bazara diravî ji sohbetên din re dişîne.

Ka em kodê ji bo get_update_keyboard binivîsin. Pêdivî ye ku du bişkok werin behs kirin - t û e ji bo celeb û veguherînê radiwestin. Tişta switch_inline_query ji bo bişkoka Share hewce ye ku bikarhêner bikaribe ji çend sohbetan hilbijêre. Ziyaretkar dê bikaribe ji kê re rêjeya danûstendina heyî ya dolar, ruble an euro bişîne hilbijêrin.

def get_update_keyboard(ex): klavyeya = 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'] } }).replace(' ', '') ), telebot.types.InlineKeyboardButton ('Share', switch_inline_query=ex['ccy']) ) klavyeyê vegerîne

Carinan hûn hewce ne ku bibînin ka di demek kurt de rêjeya danûstendinê çiqas guheriye. Ka em du rêbazan ji bo bişkoka Nûvekirinê binivîsin da ku bikarhêner dikarin qursan bi berhevdanê bibînin.

Cûdahiya di navbera rêjeyên danûstendinê de bi pîvana cûdahiyê ji serialîzatorê re derbas dibe.

Rêbazên diyarkirî tenê piştî nûvekirina daneyê dixebitin, ew ê bandorê li pêşandana yekem a qursê nekin.

def serialize_ex(ex_json, ciyawaz=Tiştek): encam = '' + ex_json['base_ccy'] + ' -> ' + ex_json['ccy'] + ':nn' + 'Kirin: ' + ex_json['bikirin'] heke cudahî: encam += ' ' + serialize_exchange_diff(cudahî['buy_diff']) + 'n' + 'Firoş: ' + ex_json['firotin'] + ' ' + serialize_exchange_diff(cudahî['sale_diff']) + 'n' din: encam += 'nFiroş: ' + ex_json['firotin'] + 'n' encam vedigere def serialize_exchange_diff(cudahî): encam = '' heke cuda ye > 0: encam = '(' + str(cudahî) + ' " 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 cudahî < 0: encam = '(' + str( cudahî)[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">)' encama vegerê

Bifikirin ku mêhvan dixwest rêjeya danûstendina dolarê bizanibe. Li vir çi diqewime heke hûn di peyamê de USD hilbijêrin:

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Gav 8: Bicîhkirina Bişkojka Nûvekirinê

Ka em bi bişkoja Nûvekirinê kodê ji bo birêvebirina çalakiyan binivîsin û beşa iq_callback_method lê zêde bikin. Dema ku hêmanên bernameyê bi parametreya wergirtinê dest pê dikin, divê hûn get_ex_callback binivîsin. Di rewşên din de, em JSON parsek dikin û hewl didin ku mifteya t.

@bot.callback_query_handler(func=banga lambda: Rast) def iq_callback(pirsîn): data = query.data eger data.startswith('get-'): get_ex_callback(pirsîn) din: biceribîne: eger json.loads(dane)[ 't'] == 'u': edit_message_callback(pirsîn) ji bilî ValueError: derbas

Ger t wekhev be, hûn ê hewce bikin ku bernameyek ji bo rêbaza edit_message_callback binivîsin. Ka em vê pêvajoyê gav bi gav bişkînin:

  1. Daxistina agahdariya rojane ya li ser rewşa bazara diravê (exchange_now = pb.get_exchange(data['c']).
  1. Nivîsandina peyamek nû bi rêgezek bi ciyawazî ve.
  2. Zêdekirina îmzeyek (get_edited_signature).

Heke peyama destpêkê nayê guhertin, rêbaza edit_message_text telefon bikin.

def edit_message_callback(pirsîn): data = json.loads(query.data)['e'] exchange_now = pb.get_exchange(dane['c']) text = serialize_ex( exchange_now, get_exchange_diff( get_ex_from_iq_data (owda)), exchange + 'n' + get_edited_signature() eger query.message: bot.edit_message_text( text, query.message.chat.id, query.message.message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTMLsage.idline') : bot.edit_message_text(text, inline_message_id=query.inline_message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML')

Ka em rêbaza get_ex_from_iq_data binivîsin da ku JSON parsek bikin:

def get_ex_from_iq_data(exc_json): vegere {'kirrîn': exc_json['b'], 'firotin': exc_json['s'] }

Hûn ê hewceyê çend rêbazên din jî bikin: Mînakî, get_exchange_diff, ku agahdariya kevn û nû di derbarê lêçûna diravan de dixwîne û cûdahiyê nîşan dide.

def get_exchange_diff(dawîn, niha): vegere {'sale_diff': float("%.6f" % (float(niha['firotin']) - float(dawîn['firotin']))), 'buy_diff': float ("%.6f" % (float(niha['buy']) - float(dawîn['buy']))) }

Ya paşîn, get_edited_signature, dema ku qurs herî dawî hate nûve kirin nîşan dide.

def get_edited_signature(): vegere '' + str(datetime.datetime.now(P_TIMEZONE).strftime('%H:%M:%S')) + ' (' + TIMEZONE_COMMON_NAME + ') hat rojanekirin'

Wekî encamek, peyama nûvekirî ya ji botê bi rêjeyek danûstendinê ya domdar bi vî rengî xuya dike:

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Dema ku qurs diguhere, cûdahiyên di navbera nirxan de ji ber pîvanên diyarkirî di peyamê de têne xuyang kirin.

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Gav 9: Pêkanîna Moda Bicîbûyî

Moda çêkirî hewce ye ku zû agahdariya ji bernameyê ji her danûstendinê re bişîne - naha hûn ne hewce ne ku wekî beşdarek botek li danûstendinê zêde bikin. Gava ku bikarhênerek Telegram navek botek bi nîşanek @ li pêş wê dike, vebijarkên veguheztinê divê li jorê xeta têketinê xuya bibin. Ger hûn li yek ji tiştan bikirtînin, bot dê bi encam û bişkokên ji bo nûvekirin û şandina daneyan peyamek bişîne danûstendinê. Navê şanderê wê sernavê "bi rêya ".

InlineQuery bi rêya pirtûkxaneyê ji query_text re derbas dibe. Kod fonksiyona answer_line bikar tîne da ku encamên lêgerînê wekî komek daneyan û hêmana inline_query_id bistîne. Em get_exchanges bikar tînin da ku bot li ser daxwazê ​​çend pereyan bibîne.

@bot.inline_handler(func=lêpirsîna lambda: Rast) def query_text(inline_query): bot.answer_inline_query(inline_query.id, get_iq_articles(pb.get_exchanges(inline_query.query)))

Em rêzek daneyan digihînin get_iq_articles da ku bi vê rêbazê tiştan ji InlineQueryResultArticle vegerînin.

def get_iq_articles(hevguhertin): encam = [] ji bo exc di danûstandinan de: result.append( telebot.types.InlineQueryResultArticle( id=exc['ccy'], sernav=exc['ccy'], input_message_content=telebot.types.InputTextnts ( serialize_ex(exc), parse_mode='HTML' ), reply_markup=get_update_keyboard(exc), description='Veguhere ' + exc['base_ccy'] + ' -> ' + exc['ccy'], thumb_height=1) encama vegere

Naha, heke hûn @ binivîsin û cîhek di rêzê de, encamên lêgerînê dê li ser ekranê xuya bibin - vebijarkên ji bo veguhertina sê pereyên berdest.

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Bikarhêner dikarin encaman bi ketina pereyê xwestinê fîlter bikin.

Piştî ku ji navnîşê li ser dravê xwestinê bikirtînin, sohbet heman peyama ku bikarhênerên botê distînin distîne. Her weha hûn dikarin bişkoja Nûvekirinê bikar bînin. Wêneya jêrîn peyama nûvekirî ya ku bi botê hatî şandin nîşan dide:

Telegram bot di Python de. Rêbernameyek bêkêmasî ji bo nivîsandina botek bi rêjeyên danûstendinê ji sifirê ve

Xelasî

Naha hûn dizanin ka meriv çawa botek ji bo Telegram-ê biafirîne. Hûn dikarin amûrên kêrhatî li bernameya xwe zêde bikin: bişkokên ji bo nûvekirin û şandina encamê ji bikarhênerên din ên peyamberê re û modek çêkirî ya ku dihêle hûn fonksiyonên botê li derveyî chatê bi wê re bikar bînin. Li ser bingeha vê rêwerzê, hûn dikarin botek hêsan bi fonksiyonên din re biafirînin - ne tenê ya ku dê rêjeyên danûstendinê nîşan bide. Netirsin ku hûn bi pirtûkxane, API û kodê biceribînin da ku arîkarek otomatîkî biafirînin ku dê bi xerîdarên li ser Telegram re biaxive û girêdana kesên eleqedar bi pargîdaniyê re xurt bike.

1 Comment

  1. Fantástica publicación

Leave a Reply