Қазақстан республикасы ғылым және жоғары білім министрлігі ш. УӘлиханов атындағы


PYTHON БАҒДАРЛАМАЛАУ ТІЛІ АРҚЫЛЫ ВИРТУАЛДЫ СҰХБАТТАСУШЫНЫ



Pdf көрінісі
бет258/532
Дата05.09.2023
өлшемі19,8 Mb.
#106156
1   ...   254   255   256   257   258   259   260   261   ...   532
Байланысты:
Сборник студ конф 22-23г

PYTHON БАҒДАРЛАМАЛАУ ТІЛІ АРҚЫЛЫ ВИРТУАЛДЫ СҰХБАТТАСУШЫНЫ 
ӘЗІРЛЕУ ТЕХНОЛОГИЯСЫ 
 
Қалдыбек А.Ж. 
Ғылыми жетешісі: Шонашева А.К., техника ғылымдарының магистрі, лектор 
Ш.Уәлиханов атындағы Көкшетау университеті, Көкшетау қ. 
dildabayeva.a@gmail.com
  
Түрлі мессенджерлер базасындағы боттар (виртуалды сұхбаттасушылар) қазіргі 
уақытта жұрттың естуінде. Телеграмма иелері өз API-лерін белсенді түрде дамытуда, 
сондықтан олардың саны күн сайын артып келеді. Әрбір боттың өзіндік атауы бар, сондықтан 
оны жаһандық іздестіруден табуға болады. Боталардың екі түрі бар - қарапайым және 
кіріктірілетін (inline). Қарапайым боталармен жұмыс істеу үшін оларға әзірлеуші қарастырған 
мәтінді немесе пәрмендерді (мысалы, іздеу сұрауы) олармен тікелей өзара әрекеттесе отырып 
жіберуге болады. 
Telegram-боттарға арналған API көмегімен әртүрлі бағдарламалау тілдерін пайдалана 
отырып, бағдарламашы сақтап қалған командаларға әрекет ететін белгілі бір міндеттер үшін 
бот әзірлеуге болады. Мұндай механизмді пайдалану Telegram-ті басқа мессенджерлерден 
тиімді ажыратады және осындай басқа да бағдарламалармен орындалмайтын функцияларды 
іске асыруға мүмкіндік береді. 
Чат-ботты әзірлеу үшін мүмкін болатын шешімдерді іздеу процесінде бот құру үшін 
кемінде бір серверлік бағдарламалау тілін білу керектігі анықталды: Python, Ruby, PHP және 
т.б. Бұдан әрі аталған тілдердің қайсысы пайдаланылатынын анықтау қажет. 
Тірі сұхбаттасушымен хат алмасуды елестететін, пайдаланушы жазған хабарламаларды 
түсінетін Telegram-боттар бар. Содан кейін оған қызықтыратын тақырып бойынша жауап 
береді. Бағдарлама қарым-қатынас барысында тақырып бойынша білімді жинақтайды және 
осылайша үйренеді. Telegram-боттардың екінші түрі алдын ала дайындалған жауаптар 
базасын қамтиды және пайдаланушыға тек белгілі бір, формализацияланған сұрауларға ғана 
жауап береді. 
Telegram-боттың серверлік бөлігін жазу құралы ретінде Python тілі таңдалды. Бұған 
бірнеше себеп бар. 
Python - бұл жалпы мақсаттағы жоғары деңгейдегі мультипарадигмалды бағдарламалау 
тілі, пайдалану барысында бағдарламашының да, ол жазған кодтың да өнімділігін арттырады. 
Қарапайым айтқанда, Python тілінде кез келген нәрсені (веб және консольдік қосымшалар, 
автоматтандыру алгоритмдері, кешенді raschѐta бағдарламалары, ойындар, тіршілікті 
қамтамасыз ету жүйелері және т.б.) ерекше проблемасыз жазуға болады. Python-да жазылған 
бағдарламалардың қысқаша коды бар, оны жазуға қатыспағандарға да түсінікті. Кодтың 
қарапайымдылығының арқасында Python бағдарламаларын сүйемелдеу Java немесе C++ 
бағдарламаларымен салыстырғанда жеңіл болады. Бұл, мысалы, оқу орындарының 
тыңдаушылары сияқты көптеген пайдаланушылары бар бағдарламалар үшін ерекше маңызды. 
Сонымен қатар, Python тілінің интерпретаторы барлық платформалар мен операциялық 
жүйелермен үйлесімді. Бұрын мұндай әмбебап тіл деп Си тілі саналатын, алайда әртүрлі 
компьютерлік жүйелердегі кейбір типтердің айнымалыларымен қамтылған жад саны 
ерекшеленетін, бұл мұндай бағдарламалардың үйлесімділік дәрежесін төмендететін. Python-
да жағдай әлдеқайда жақсы. 
Python-мен жұмыс істеудегі жағымды тұстар осымен аяқталмайды. Питон белсенді 
дамуда. Бүкіл әлемнің бағдарламашылары аталған тілді дамыту мен жетілдіруге өз үлестерін 
қосуда. Олар Python тілінің интерпретаторын жаңа функциялармен және мүмкіндіктермен 
толықтырады. Мұндай мүмкіндік интерпретатор С-ұқсас бағдарламалау тілдерінде 
жазылғандықтан, бағдарламалық қамтамасыз ету бойынша көптеген мамандар оны өзгертіп, 
өз қажеттіліктеріне келтіре алады. Бұл интерпретаторды бағдарламалау ортасына қосу 
мүмкіндігі бар. Осылайша, Python бағдарламалау өте икемді және оңай реттелетін процесс деп 


485 
қорытынды жасауға болады. Қазіргі уақытта әртүрлі мақсаттағы бағдарламалық өнімдердің 
басым көпшілігі Python-да әзірленуде. Қосымшаларды әртүрлі бағдарламалау тілдерінде 
жазуға болады, демек оны кез келген білікті бағдарламашы мамандар жасай алады. Мынадай 
модульдер мынадай тетікті көрсетеді: 
• Numerical Python - векторлар мен матрицалар үстіндегі операциялар сияқты математикалық 
мүмкіндіктерді кеңейтетін модуль; 
• Tkinter - X-Windows Tk-интерфейсінде кең таралған негізінде графикалық пайдаланушы 
интерфейсін (GUI) қолдана отырып, бағдарламаларды жасауға мүмкіндік беретін модуль; 
• OpenGL - Silicon Graphics Inc. Бұл стандарт Microsoft Windows XP, 7, 10 және басқалар 
сияқты танымал операциялық жүйелермен үйлесімді. 
Кемшіліктерден Python бағдарламасының кодын орындау жылдамдығының 
төмендегенін атап өтуге болады, бұл интерпретаторды пайдаланумен байланысты. Алайда, 
бұл кемшілік орындау жылдамдығына талап етілмейтін бағдарламаларды жасау кезінде тілдің 
қадір-қасиеттерімен салыстырғанда аса маңызды емес. 
Ботаның жеделхаттарын жасамас бұрын Кілтті алу және атын тіркеу қажет. Бұл 
Telegram bot @ BootFater арқылы жасалады. Онда/newbot командасы арқылы жаңа боттың аты 
жасалады. Бұдан әрі/token командасымен әзірленетін ботаның токені шақырылады. Токен 
ботты бағдарлама кодымен қосу үшін қажет, яғни оның арқасында әзірленген скрипт Telegram 
серверлерінен ақпарат алатын болады. 
Көрініс пен танымдық беру үшін/setuserpic пәрмені пайдаланылады. / setdescription 
пәрменімен қысқаша сипаттама қосылады. 
Ең соңғысы барлық қол жетімді бағдарламалардың тізімін жазу болады. Бұл 
/setcommands пәрменінің арқасында жасалуда. Бот сипаттамасы дайын. Енді бағдарлама 
кодын әзірлеуге кірісу керек. 
Бірінші кезекте кітапхананы телеграмма боттарымен жұмыс істеу үшін қосу керек. Орнату 
pip3 пакеттерін басқару жүйесі арқылы жүргізіледі. Пәрмен жолында «pip3 install telebot» 
пәрменін орындау қажет. Орнату аяқталғаннан кейін кодты жазуға көшуге болады. import 
telebot жолымен қосылған кітапхана импортталады. 
Бұдан әрі әзірленетін ботаның токені берілетін айнымалы құрылады. / start пәрменіне 
жауап беретін декоратор жасалуда. Бағдарлама код бойынша аяқталмауы үшін, ал үнемі 
Telegram бағдарламасының соңында жаңа хабарлардың бар екендігі туралы сұрақ қоюы үшін 
polling () функциясын көрсетеміз. Ботаның қаңқасы дайын. Іске қосу кезінде ол бастапқыда 
тек/start пәрменіне ден қояды. 
_ filters (сүзгі) өрісінде дәлелдер тізімі бар. Тақырыпта тек бір дәлел болуы мүмкін. 
Сүзгі өңдегішпен шақырылады. Функцияның атауы еркін болуы мүмкін. Функцияның жалғыз 
дәлелі функция қалыптастыратын хабарды береді. Өңдегіш бірнеше сүзгілерді шақыруы 
мүмкін. Онда түрлі жағдайларда қолданылатын сүзгілердің бірнеше нұсқалары бар. 
Бағдарламадағы функциялар тексеріліп, бағдарламада жазылғандай орындалады. Одан әрі 
сүзгіні пайдалану және онымен өңдегіш қалай жұмыс істейтінін мысал келтіреді. 
Листинг 1 - Декораторлардың мысалдары 
«Ш.Уәлиханов атындағы КҚ туралы ақпарат» өңдеуші командасы 
@ mytbot.message _ handler (commands = [«Ш.Уәлиханов атындағы КУ туралы ақпарат»]) 
def team_response (receivedmessage): 
mytbot.send_message (receivedmessage.chat.id, "Сәлеметсіз бе, Ш.Уәлиханов атындағы 
Көкшетау университеті туралы толық ақпаратты сайттан https://shokan.edu.kz/ 'сілтеме арқылы 
оқуға болады) 
# Өңдейді және мәтіндік хабарларға жауап береді 
@ mytbot.message_handler(content_types=['text']) 
def answering_machine (receivedmessage): 
if receivedmessage.text.lower () = = «Сәлеметсіз бе»: 
mytbot.send_message (receivedmessage.chat.id, «Сәлеметсіз бе, қалай көмектесе аламын?») 


486 
elif receivedmessage.text.lower () = = «Қалай қоңырау шалу керек?»: 
mytbot.send_message (receivedmessage.chat.id, "Сіз бізбен +71234567899 'телефоны арқылы 
хабарласа аласыз) 
# Барлық жіберілген дауыстық сұрауларды өңдейді 
@ mytbot.message_handler (content_types = ['voice']) 
def handle_audio (receivedmessage): 
audiofile = mytbot.get_file(receivedmessage.voice.file_id) 
# Көрсетілген тұрақты өрнекке сәйкес келетін мәтіндік хабарларды өңдейді 
@ mytbot.message_handler ( regexp = \d{7}) 
def handle_message (receivedmessage ): 
mytbot.send_message (receivedmessage.chat.id, "Сәлеметсіз бе, Сіз 7 саннан санды енгіздіңіз = 
'+ receivedmessage +) 
# True кері қайтаратын хабарларды өңдейді 
@ mytbot.lambda_handler (func=lambda t: True) 
def echo_lambda (receivedmessage): 
mytbot.reply_to (receivedmessage, message.text) 
Telegram чат боттары үшін тамаша API ұсынады, бұл пайдаланушыға тек мәтіндік 
хабарламалар арқылы ғана емес, сонымен қатар суреттер мен бейнелері бар мультимедиялық 
мазмұнды және HTML және JavaScript-пен бай мазмұнды қамтамасыз етеді. 
Қолданылған әдебиеттер тізімі: 
1. Сузи Р.А. Язык программирования Python. Учебное пособие. - М.: 
Интернет Университет информационных технологий, 2017. – 327 с. 
2. Марк Лутц. Пiкiр жазғандар: рограммирование на Python. Учебник. Тома 1 и 2, 4-е 
издание. – Пiкiр жазғандар: ер. с англ. – СПiкiр жазғандар: б.: Символ-Пiкiр жазғандар: люс, 
2015. - 992 с. 
3. Саммерфилд М. Пiкiр жазғандар: рограммирование на Python 3. Пiкiр жазғандар: одробное 
Руководство. - Пiкiр жазғандар: ер. с англ. Киселев А. – М.: Символ-Пiкiр 
жазғандар: люс, 2016. – 608 с. 
4. Дронов В.А. Django Пiкiр жазғандар: рактика создания Web-сайтов на Python. 
Учебник.2016. – 886 с
5. Хахаев И. А. Пiкiр жазғандар: рактикум по алгоритмизации и программированию на 
Python. Учебное пособие. - М. : Альт Линукс, 2013. - 126 с. 


Достарыңызбен бөлісу:
1   ...   254   255   256   257   258   259   260   261   ...   532




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет