Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Telegram-dakı botlar auditoriya ilə əlaqə yaratmağa və ya əvvəllər əl ilə yerinə yetirilməli olan hərəkətləri sadələşdirməyə kömək edən proqramlardır. Bu proqramlar xüsusi olaraq messencer platforması üçün yazılmışdır. Botlar bu şəkildə işləyir: istifadəçi giriş xətti vasitəsilə əmr göndərir və sistem mətn və ya interaktiv mesajla cavab verir. Bəzən proqram hətta real insanın hərəkətlərini təqlid edir - belə bir bot müştərilər arasında daha çox inam yaradır.

İstifadəçilərə avtomatik yardım üçün bir neçə növ sistem var. Bəzi botlar sadəcə müştərilərlə ünsiyyət qurur, digərləri isə mütəmadi olaraq məlumat verir. Proqramları növlərə bölmək mümkün deyil - tərtibatçılar çox vaxt bir botda bir neçə funksiyanı birləşdirir.

Telegram üçün 9 addımda ekran düymələri şəklində interaktiv elementləri olan sadə bot yaza bilərsiniz. Onların hər birinə ətraflı baxaq və bir neçə suala cavab verək:

  • botu necə başlamaq olar;
  • bir və ya bir neçə düymədən quraşdırılmış klaviaturanı necə qeydiyyata almaq olar;
  • istədiyiniz funksiyalar üçün düymələri necə proqramlaşdırmaq olar;
  • daxili rejim nədir və onu mövcud bot üçün necə qurmaq olar.

Addım 0: Telegram botları API haqqında nəzəri məlumat

Telegram botlarını yaratmaq üçün istifadə olunan əsas alət HTML Tətbiq Proqramlaşdırma İnterfeysi və ya HTML API-dir. Bu element ziyarətçilərin sorğularını qəbul edir və cavabları məlumat şəklində göndərir. Hazır dizaynlar proqram üzərində işi asanlaşdırır. Telegram üçün bot yazmaq üçün bu e-poçt ünvanından istifadə etməlisiniz: https://api.telegram.org/bot/METHOD_NAME

Botun düzgün işləməsi üçün bir işarə də lazımdır - proqramı qoruyan və etibarlı tərtibatçılara ona girişi açan simvolların birləşməsi. Hər bir nişan unikaldır. Sətir yaradıldıqdan sonra bota təyin edilir. Metodlar fərqli ola bilər: getUpdates, getChat və s. Metod seçimi tərtibatçıların botdan hansı alqoritm gözlədiyindən asılıdır. Token nümunəsi:

123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11

Botlar GET və POST sorğularından istifadə edir. Metod parametrləri tez-tez əlavə edilməlidir - məsələn, sendMessage metodu söhbət id və bəzi mətni göndərməli olduqda. Metodun dəqiqləşdirilməsi üçün parametrlər application/x-www-form-urlencoded və ya application-json vasitəsilə URL sorğu sətri kimi ötürülə bilər. Bu üsullar faylları yükləmək üçün uyğun deyil. UTF-8 kodlaşdırması da tələb olunur. API-yə sorğu göndərməklə nəticəni JSON formatında əldə edə bilərsiniz. GetME metodu ilə məlumat əldə etmək üçün proqramın cavabına nəzər salın:

Https://api.telegram.org/bot ƏLDƏ EDİN/getMe{ ok: doğrudur, nəticə: { id: 231757398, ad_ad: "Mübadilə Botu", istifadəçi adı: "exchangetestbot" } }

Nəticə alınarsa ok bərabərdir doğru. Əks halda, sistem bir səhv göstərəcək.

Botlarda fərdi mesajlar əldə etməyin iki yolu var. Hər iki üsul effektivdir, lakin müxtəlif hallarda uyğundur. Mesajları əldə etmək üçün getUpdates metodu ilə sorğunu əl ilə yaza bilərsiniz – proqram ekranda Yeniləmə məlumat massivini göstərəcək. Sorğular müntəzəm olaraq göndərilməlidir, hər massiv təhlil edildikdən sonra göndərmə təkrarlanır. Ofset, yoxlanılan obyektlərin yenidən görünməməsi üçün yeni nəticə yükləməzdən əvvəl buraxılmış qeydlərin sayını təyin edən parametrdir. GetUpdates metodunun üstünlükləri aşağıdakı hallarda işə düşəcək:

  • HTTPS-i konfiqurasiya etmək üçün heç bir yol yoxdur;
  • mürəkkəb skript dilləri istifadə olunur;
  • bot serveri vaxtaşırı dəyişir;
  • bot istifadəçilərlə yüklənir.

İstifadəçi mesajlarını qəbul etmək üçün yazıla bilən ikinci üsul setWebhook-dur. Bir dəfə istifadə olunur, daim yeni sorğu göndərməyə ehtiyac yoxdur. Webhook müəyyən edilmiş URL-ə məlumat yeniləmələrini göndərir. Bu üsul SSL sertifikatı tələb edir. Webhook bu hallarda faydalı olacaq:

  • veb proqramlaşdırma dillərindən istifadə olunur;
  • bot həddən artıq yüklənməyib, çox istifadəçi yoxdur;
  • server dəyişmir, proqram uzun müddət eyni serverdə qalır.

Əlavə təlimatlarda biz getUpdates-dən istifadə edəcəyik.

@BotFather Telegram xidməti söhbət botları yaratmaq üçün nəzərdə tutulub. Əsas parametrlər də bu sistem vasitəsilə qurulur – BotFather sizə təsvir etməyə, profil şəklini yerləşdirməyə, dəstək alətləri əlavə etməyə kömək edəcək. Kitabxanalar – Telegram botları üçün HTML sorğuları toplusu – İnternetdə mövcuddur, onların kifayət qədər çoxu var. Nümunə proqramı yaradarkən pyTelegramBotApi istifadə edilmişdir.

Addım 1: Valyuta Məzənnəsi Tələblərinin həyata keçirilməsi

Əvvəlcə sorğuları yerinə yetirən kodu yazmalısınız. PrivatBank API-ni yazarkən istifadə edəcəyik, aşağıda ona bir keçid var: https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5. Kodunuzda bu üsullardan istifadə etməlisiniz:

  • load_exchange – valyuta məzənnələrini tapır və kodlaşdırılmış məlumatları göstərir;
  • get_exchange – müəyyən valyuta haqqında məlumatları göstərir;
  • get_exchanges – nümunəyə uyğun valyutaların siyahısını göstərir.

Nəticədə, pb.py faylındakı kod belə görünür:

idxal yenidən idxal sorğuları import json URL = 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5' def load_exchange(): json.loads(requests.get(URL).text) def get_exchange(ccy_key) qaytarın ): load_exchange()-də exc üçün: əgər ccy_key == exc['ccy']: qaytarmaq exc qaytarmaq Yanlış def get_exchanges(ccy_pattern): nəticə = [] ccy_pattern = re.escape(ccy_pattern) + '.*' exc üçün load_exchange(): əgər re.match(ccy_pattern, exc['ccy'], re.IGNORECASE) heç biri deyilsə: result.apppend(exc) nəticəni qaytarın

Proqram müəyyən edilmiş sorğulara aşağıdakı cavabı verə bilər:

[ { ccy:"USD", base_ccy:"UAH", al:"25.90000", satış:"26.25000" }, { ccy:"EUR", base_ccy:"UAH", al:"29.10000", satış:"29.85000 " }, { ccy:"RUR", base_ccy:"UAH", al:"0.37800", satış:"0.41800" }, { ccy:"BTC", base_ccy:"USD", al:"11220.0384", satış: "12401.0950" } ]

Addım 2: @BotFather ilə Telegram Bot yaradın

Siz @BotFather xidmətindən istifadə edərək mesajları qəbul etmək və onlara cavab vermək üçün proqram yarada bilərsiniz. Onun Telegram səhifəsinə keçin və /newbot əmrini daxil edin. Çatda təlimatlar görünəcək, ona görə əvvəlcə botun adını, sonra isə ünvanını yazmalısınız. Bot hesabı yaradıldıqda, ekranda nişanı ehtiva edən salamlama mesajı görünəcək. Əlavə konfiqurasiya üçün bu əmrlərdən istifadə edin:

  • /setdescription – təsvir;
  • /setabouttext – yeni bot haqqında məlumat;
  • /setuserpic – profil şəkli;
  • /setinline – daxili rejim;
  • /setcommands – əmrlərin təsviri.

Son konfiqurasiya mərhələsində biz /help və /exchange-i təsvir edirik. Bütün addımlar tamamlandıqdan sonra kodlaşdırmaya keçməyin vaxtı gəldi.

Addım 3: Botun qurulması və işə salınması

Gəlin config.py faylı yaradaq. Orada unikal bot kodunu və proqramın məlumat tapacağı saat qurşağını göstərməlisiniz.

TOKEN = '' # bot nişanı ilə əvəz edinTIMEZONE = 'Avropa/Kiyev' TIMEZONE_COMMON_NAME = 'Kiyev'

Sonra, əvvəllər yazılmış pb.py, kitabxanalar və digər zəruri komponentlərin idxalı ilə başqa bir fayl yaradırıq. Çatışmayan kitabxanalar paket idarəetmə sistemindən (pip) quraşdırılır.

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

Bot yaratmaq üçün pyTelegramBotApi məzmunundan istifadə edək. Alınan tokeni aşağıdakı koddan istifadə edərək göndəririk:

bot = telebot.TeleBot(config.TOKEN) bot.polling(none_stop=Doğru)

none_stop parametri sorğuların daim göndərilməsini təmin edir. Metod səhvləri parametrin işinə təsir etməyəcək.

Addım 4: /start Komanda İşləyicisini yazın

Əvvəlki bütün addımlar düzgün yerinə yetirilibsə, bot işə başlamışdır. Proqram getUpdates metodundan istifadə etdiyi üçün müntəzəm olaraq sorğular yaradır. none_stop elementi olan sətirdən əvvəl bizə /start əmrini emal edən kod parçası lazımdır:

@bot.message_handler(commands=['start']) def start_command(message): bot.send_message( message.chat.id, 'Salamlar! Mən sizə mübadilə məzənnələrini göstərə bilərəm.n' + 'Malbadət məzənnələrini öyrənmək üçün / düyməsini basın. exchange.n' + 'Yardım almaq üçün /help düyməsini basın.' )

RџSЂRё əmrlər=['start'] True bərabərdir start_command çağırılır. Mesajın məzmunu ora gedir. Sonra, göndərmə funksiyasını həyata keçirməlisiniz_mesaj müəyyən bir mesaja münasibətdə.

Addım 5: / help Command Handler yaradın

/help əmri düymə kimi həyata keçirilə bilər. Bunun üzərinə klikləməklə istifadəçi tərtibatçının Telegram hesabına aparılacaq. Düyməyə "Tərtibatçıdan soruş" kimi bir ad verin. Send_message metodu üçün istifadəçini linkə yönləndirən reply_markup parametrini təyin edin. Koda klaviaturanı yaradan parametri yazaq (InlineKeyboardMarkup). Sizə yalnız bir düymə lazımdır (InlineKeyboardButton).

Son əmr işləyicisi kodu belə görünür:

@bot.message_handler(commands=['help']) def help_command(message): klaviatura = telebot.types.InlineKeyboardMarkup() keyboard.add( telebot.types.InlineKeyboardButton( 'Developerden soruşun', url='vaша ссылка на профиль' ) ) bot.send_message( message.chat.id, '1) Mövcud valyutaların siyahısını əldə etmək üçün /exchange.n' + '2) Maraqlanan valyutanın üzərinə klikləyin.n' + '3) Siz mənbə və hədəf valyutalar, ' + 'alış məzənnələri və satış məzənnələri haqqında məlumatı ehtiva edən mesaj alacaq.n' + '4) Sorğu ilə bağlı cari məlumatı almaq üçün “Yenilə” üzərinə klikləyin. ' + 'Bot həm də əvvəlki və cari valyuta məzənnələri arasındakı fərqi göstərəcək.n' + '5) Bot inline dəstəkləyir. @ yazın istənilən söhbətdə və valyutanın ilk hərfləri.', reply_markup=klaviatura )

Telegram çatında kod hərəkəti:

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Addım 6: /exchange Command Handler əlavə edin

Bu addım söhbətdə mövcud valyutaların simvolları olan düymələri göstərmək üçün lazımdır. Seçimləri olan ekran klaviaturası səhvlərdən qaçmağa kömək edəcək. PrivatBank rubl, dollar və avro haqqında məlumat verir. InlineKeyboardButton seçimi belə işləyir:

  1. İstifadəçi istədiyi təyinatı olan düyməni klikləyir.
  2. getUpdates geri çağırış alır (CallbackQuery).
  3. Klaviaturaya basmağı necə idarə etmək məlum olur - basılan düymə haqqında məlumat ötürülür.

/exchange handler kodu:

@bot.message_handler(commands=['exchange']) def exchange_command(message): klaviatura = 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(mesaj.chat .id, 'Seçim valyutasına klikləyin:', reply_markup=klaviatura )

Telegram-da kodun nəticəsi:

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Addım 7: Daxili klaviatura düymələri üçün işləyicinin yazılması

pyTelegramBot Api paketində @bot.callback_query_handler dekorator funksiyası var. Bu komponent geri çağırışı funksiyaya çevirmək üçün nəzərdə tutulmuşdur – API zəngi açır və yenidən yaradır. Bu belə yazılır:

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

Get_ex_callback metodunu da yazaq:

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

Başqa bir faydalı üsul var - cavab_callback_query. Düyməni basmaq və nəticəni ekranda göstərmək arasında yükü aradan qaldırmağa kömək edir. Siz bəzi valyuta kodunu və Mesajı ötürməklə send_exchange_query-ə mesaj göndərə bilərsiniz. send_exchange_result yazaq:

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

Çatbot bankdan sorğunun nəticəsini alarkən API, ziyarətçi "mesaj yazmaq" yazısını görür. Deyəsən real adam cavab verir. Belə bir göstəricini ekranda göstərmək üçün giriş statusu xətləri əlavə etməlisiniz. Sonra get_exchange-dən istifadə edəcəyik - onun köməyi ilə proqram valyuta təyinatını (rubl, avro və ya dollar) alacaq. send_message əlavə üsullardan istifadə edir: serialize_ex valyutanı başqa formata çevirir və get_update_keyboard məlumatı yeniləyən və valyuta bazarı məlumatlarını digər söhbətlərə göndərən yumşaq düymələri quraşdırır.

Get_update_keyboard üçün kodu yazaq. İki düyməni qeyd etmək lazımdır - t və e növ və mübadilə üçün dayanır. Paylaş düyməsi üçün switch_inline_query elementi istifadəçinin bir neçə söhbətdən seçim edə bilməsi üçün lazımdır. Ziyarətçi dolların, rublun və ya avronun cari məzənnəsini kimə göndərəcəyini seçə biləcək.

def get_update_keyboard(ex): klaviatura = telebot.types.InlineKeyboardMarkup() keyboard.row( telebot.types.InlineKeyboardButton( 'Yeniləmə', geri çağırış_data=json.dumps({ 't': 'u', 'e': { ' b': ex['buy'], 's': ex['sale'], 'c': ex['ccy'] } }).replace(' ', '') ), telebot.types.InlineKeyboardButton ('Paylaş', switch_inline_query=ex['ccy']) ) klaviaturanı qaytarın

Bəzən qısa zamanda məzənnənin nə qədər dəyişdiyini görmək lazımdır. İstifadəçilərin kursları müqayisə edərək görə bilməsi üçün Update düyməsi üçün iki üsul yazaq.

Valyuta məzənnələri arasındakı fərq diff parametri vasitəsilə serializatora ötürülür.

Müəyyən edilmiş üsullar yalnız məlumatlar yeniləndikdən sonra işləyir, kursun ilk nümayişinə təsir göstərməyəcəkdir.

def serialize_ex(ex_json, fərq=Heç biri): nəticə = '' + ex_json['base_ccy'] + ' -> ' + ex_json['ccy'] + ':nn' + 'Al: ' + ex_json['buy'] əgər fərq: nəticə += ' ' + serialize_exchange_diff(farq['buy_diff']) + 'n' + 'Sat: ' + ex_json['sale'] + ' ' + serialize_exchange_diff(diff['sale_diff']) + 'n' else: result += 'nSell: ' + ex_json['sale'] + 'n' qaytarın nəticə def serialize_exchange_diff(fərq): nəticə = '' əgər fərq > 0: nəticə = '(' + str(fərq) + ' " 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 fərq < 0: nəticə = '(' + str( fərq)[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">)' qaytarılması nəticəsi

Təsəvvür edin ki, qonaq dolların məzənnəsini bilmək istəyirdi. Mesajda USD seçsəniz nə baş verir:

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Addım 8: Yeniləmə Düymə İşləyicisinin Tətbiqi

Update düyməsi ilə hərəkətlərin idarə edilməsi üçün kodu yazaq və ona iq_callback_method hissəsini əlavə edək. Proqram elementləri get parametri ilə başlayanda get_ex_callback yazmalısınız. Digər hallarda biz JSON-u təhlil edirik və t açarını almağa çalışırıq.

@bot.callback_query_handler(func=lambda zəngi: Doğru) def iq_callback(query): data = query.data if data.startswith('get-'): get_ex_callback(query) başqa: cəhd edin: if json.loads(data)[ 't'] == 'u': edit_message_callback(sorğu) istisna olmaqla ValueError: keçid

Əgər t u bərabərdirsə, edit_message_callback metodu üçün proqram yazmalısınız. Bu prosesi addım-addım parçalayaq:

  1. Valyuta bazarının vəziyyəti haqqında ən son məlumatın yüklənməsi (exchange_now = pb.get_exchange(data['c']).
  1. Diff ilə serializer vasitəsilə yeni mesaj yazmaq.
  2. İmza əlavə etmək (get_edited_signature).

İlkin mesaj dəyişməzsə, edit_message_text metoduna zəng edin.

def edit_message_callback(query): data = json.loads(query.data)['e'] exchange_now = pb.get_exchange(data['c']) text = serialize_ex(exchange_inow, get_exchange_diff(get_ex_from_iq_data(data)), exchange_now + 'n' + get_edited_signature() əgər query.message: bot.edit_message_text(mətn, query.message.chat.id, query.message.message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML') e-sətirdə. : bot.edit_message_text( mətn, inline_message_id=query.inline_message_id, reply_markup=get_update_keyboard(exchange_now), parse_mode='HTML' )

JSON-u təhlil etmək üçün get_ex_from_iq_data metodunu yazaq:

def get_ex_from_iq_data(exc_json): qaytar { 'al': exc_json['b'], 'satış': exc_json['s'] }

Daha bir neçə üsula ehtiyacınız olacaq: məsələn, valyutaların qiyməti haqqında köhnə və yeni məlumatları oxuyan və fərqi göstərən get_exchange_diff.

def get_exchange_diff(son, indi): return { 'sale_diff': float("%.6f" % (float(indi['sale'])) - float(son['sale']))), 'buy_diff': float ("%.6f" % (float(indi['al']) - float(son['al']))) }

Sonuncu, get_edited_signature, kursun sonuncu dəfə yeniləndiyi vaxtı göstərir.

def get_edited_signature(): qaytar 'Yenilənib ' + str(datetime.datetime.now(P_TIMEZONE).strftime('%H:%M:%S')) + ' (' + TIMEZONE_COMMON_NAME + ')'

Nəticədə, sabit məzənnə ilə botdan yenilənmiş mesaj belə görünür:

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Kurs dəyişdikdə, təyin edilmiş parametrlərə görə dəyərlər arasındakı fərqlər mesajda göstərilir.

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Addım 9: Daxili Rejimin Tətbiqi

Proqramdan istənilən söhbətə məlumatı tez göndərmək üçün daxili rejim lazımdır – indi iştirakçı kimi söhbətə bot əlavə etmək lazım deyil. Telegram istifadəçisi qarşısında @ işarəsi olan bot adını daxil etdikdə, giriş sətirinin üstündə dönüşüm variantları görünməlidir. Elementlərdən birini klikləsəniz, bot məlumatların yenilənməsi və göndərilməsi üçün nəticələr və düymələri olan söhbətə mesaj göndərəcək. Göndərənin adında “vasitəsilə ".

InlineQuery kitabxana vasitəsilə query_text-ə ötürülür. Kod, axtarış nəticələrini verilənlər massivi və inline_query_id elementi kimi əldə etmək üçün answer_line funksiyasından istifadə edir. Biz get_exchanges-dən istifadə edirik ki, bot sorğu əsasında bir neçə valyuta tapsın.

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

Bu metod vasitəsilə InlineQueryResultArticle-dan obyektləri qaytarmaq üçün get_iq_articles-ə bir sıra verilənləri ötürürük.

def get_iq_articles(exchanges): mübadilələrdə exc üçün nəticə = []: result.append( telebot.types.InlineQueryResultArticle( id=exc['ccy'], title=exc['ccy'], input_message_content=telebot.types.InputTextMessaget ( serialize_ex(exc), parse_mode='HTML' ), reply_markup=get_update_keyboard(exc), description='Convert ' + exc['base_ccy'] + ' -> ' + exc['ccy'], thumb_height=1 ) ) nəticəni qaytarın

İndi @ yazsanız və sətirdə boşluq olduqda, axtarış nəticələri ekranda görünəcək – üç mövcud valyutaya çevirmək üçün seçimlər.

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

İstifadəçilər istədikləri valyutanı daxil etməklə nəticələri süzgəcdən keçirə bilərlər.

Siyahıdan istədiyiniz valyutaya kliklədikdən sonra söhbət bot istifadəçilərinin aldığı eyni mesajı alır. Yeniləmə düyməsini də istifadə edə bilərsiniz. Aşağıdakı şəkil bot vasitəsilə göndərilən yenilənmiş mesajı göstərir:

Python-da Telegram botu. Sıfırdan valyuta məzənnələri ilə bir bot yazmaq üçün tam bələdçi

Nəticə

İndi siz Telegram üçün bot yaratmağı bilirsiniz. Proqramınıza faydalı alətlər əlavə edə bilərsiniz: nəticəni messencerin digər istifadəçilərinə yeniləmək və göndərmək üçün düymələr və onunla söhbətdən kənarda botun funksiyalarından istifadə etməyə imkan verən daxili rejim. Bu təlimata əsaslanaraq, digər funksiyaları olan istənilən sadə bot yarada bilərsiniz – təkcə valyuta məzənnələrini göstərən bot deyil. Telegram-da müştərilərlə söhbət edəcək və maraqlı şəxslərin şirkətlə əlaqəsini gücləndirəcək avtomatlaşdırılmış köməkçi yaratmaq üçün kitabxanalar, API-lər və kodlarla sınaqdan keçirməkdən qorxmayın.

necə 1

  1. Fantastik nəşr

Cavab yaz