Cloud texnologiyalari fanidan 2-amaliy ish Bajardi


Download 266.03 Kb.
Sana18.06.2023
Hajmi266.03 Kb.
#1562165
Bog'liq
cloud 2 amaliy


O‘ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

Cloud texnologiyalari fanidan
2-amaliy ish




Bajardi: Zulunov Iskandar


Tekshirdi: Musajonova Dilobar


Toshkent 2023.
Wikipediadan ma’lumot qidirib beruvchi bot
(Dastur Python dasturlash tili yordamida yozilgan)
Dastur kodi
TOKEN = '6006521003:AAHjY1CCzG9Xz_1atnzUf_ImgU_JSM-1JXc'
import requests
from uuid import uuid4
from telegram import Update, InlineQueryResultArticle, InputMessageContent, ParseMode
from telegram.ext import Updater, Filters, CallbackContext, MessageHandler, CommandHandler, ConversationHandler, CallbackQueryHandler, InlineQueryHandler
from telegram.bot import Bot
from telegram.user import User

def start(update: Update, context: CallbackContext):


update.message\
.reply_text(
'Assalomu alaykum! Vikipediada ma\'lumot qidiruvchi '
'botga xush kelibsiz! Biron nima izlash uchun /search '
'va so\'rovingizni yozing. Misol uchun /search Amir Temur'
)

def search(update: Update, context: CallbackContext):


arguments = ' '.join(context.args)
if len(arguments) == 0:
update.message.reply_text('Hech bo\'lmasa nimadir kiriting. Masalan, /search Amir Temur ')
else:
response = requests.get('https://ru.wikipedia.org/w/api.php',{
'action' : 'opensearch',
'search' : arguments,
'limit' : 1,
'namespace' : 0,
'format' : 'json',
})
result = response.json()
link = result[3]
if len(link):
update.message\
.reply_text('Sizning so\'rovingiz bo\'yicha havola: ' + link[0])
else:
update.message\
.reply_text('Sizning so\'rovingiz bo\'yicha hech nima topilmadi!!')

updater = Updater(TOKEN)


dispatcher = updater.dispatcher

dispatcher.add_handler(CommandHandler('start', start))


dispatcher.add_handler(CommandHandler('search', search))
dispatcher.add_handler(MessageHandler(Filters.all, start))

updater.start_polling()


updater.idle()


Dasturdagi vazifalar haqida qisqacha ma’lumot:

TOKEN – bu har bir telegram bot ga bot yaratilish paytda beriladigan shifrdir, uni birovga berish mumkin emas, chunki bu TOKEN yordamida boshqa bir inson sizni botingizni o’zining maqsadlari yordamida foydalanishi mumkin. Xullas, bu TOKEN ni birovga berish qat’iyan man qilinadi



Telegram bot ning 2 xil funksiyasi mavjud bo’lib, bular: start va search funksiyalaridir.

Start funksiyasi botimizda 2 holat bo’yicha ishlaydi:
‘/start’ komandasi berilganda hamda komandadan tashqari har qanday matn kiritilgan holatda ishlab ketadi va undan so’ng botdan qanday foydalanish haqida qisqa ma’lumot beradi:
Assalomu alaykum! Vikipediada ma'lumot qidiruvchi
botga xush kelibsiz! Biron nima izlash uchun /search
va so'rovingizni yozing. Misol uchun /search Amir Temur


Search funksiyasi botimizda quyidagicha ishlaydi:
Bu funksiyamiz ‘/search argument’ formatida kelgan so’rovni qabul qiladi va argument ni Wikipedianing mavjud API si (API - Application Programming Interface, bu xuddi ma’lumotlar bazasiga o’xshaydi) dan bizning ma’lumotimizni qidiradi. Agar /search komandasi bilan hech qanday argument yozilmagan bo’lsa, u holda bot bilan ishlash haqida ma’lumot botga yuboriladi. Agar argument yozilgan bo’lsa, Wikipedia API dan tegishli ma’lumotni qidiradi, agar ma’lumot mavjud bo’lsa, shu ma’lumotning linki bot ga jo’natiladi, aks holda bu ma’lumot yo’qligi haqida ma’lumot bot ga jo’natiladi.



Download 266.03 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling