Python'da Noldan Telegram Boti Yaratish (To'liq va Amaliy Qo'llanma)

Python va aiogram yordamida o'z Telegram botingizni noldan yarating! Botni ro'yxatdan o'tkazishdan tortib, uni VPS'da 24/7 ishga tushirishgacha bo'lgan to'liq, qadamma-qadam qo'llanma.

Iyun 30, 2025 - 00:03
Iyul 2, 2025 - 23:45
 0  48
Python'da Noldan Telegram Boti Yaratish (To'liq va Amaliy Qo'llanma)
Python telegram bot yaratish

Salom, do'stlar! Ko'pchiligimiz har kuni Telegram'dan foydalanamiz, lekin o'zimizning shaxsiy botimizga ega bo'lish haqida o'ylab ko'rganmisiz? Bugun biz nazariyadan amaliyotga o'tamiz va Python dasturlash tilidan foydalanib, eng oddiy, ammo ishlaydigan Telegram botini noldan yaratamiz.

Bu qo'llanma shunchaki kodni ko'chirish haqida emas. Biz botni ro'yxatdan o'tkazishdan boshlab, uni o'z serveringizda (VPS) 24/7 ishlab turadigan qilishgacha bo'lgan to'liq jarayonni qadamma-qadam ko'rib chiqamiz. Tayyor bo'lsangiz, boshladik!

1-Qadam: Botimiz Uchun "Tug'ilganlik Guvohnomasi" Olish

Har qanday bot o'z faoliyatini BotFather'dan boshlaydi. Bu – Telegram'dagi barcha botlarning "otasi".

  1. Telegram qidiruviga @BotFather deb yozing va tasdiqlangan (ko'k ptichkali) botni tanlang.

  2. /start buyrug'ini yuboring.

  3. Yangi bot yaratish uchun /newbot buyrug'ini yuboring.

  4. BotFather sizdan botingiz uchun nom so'raydi. Masalan, KnowHub Test Boti.

  5. Keyin esa botingiz uchun unikal username so'raydi. Bu nom oxiri bot so'zi bilan tugashi shart. Masalan, KnowHubTestBot.

  6. Agar username band bo'lmasa, BotFather sizni tabriklaydi va eng muhim narsani – API Tokenini beradi. Bu sizning botingizning maxfiy kalitidir. Uni hech kimga ko'rsatmang!

 

Tokenni nusxalab, xavfsiz joyga saqlab qo'ying. U bizga keyingi qadamda kerak bo'ladi.

2-Qadam: Dasturlash Muhitini Sozlash

Biz botimizni Python'da, aiogram kutubxonasi yordamida yozamiz. Bu hozirgi kundagi eng qulay va zamonaviy kutubxonalardan biri.

Kompyuteringizda terminalni (buyruqlar satrini) oching va quyidagi komandani kiriting:

" pip install aiogram"

Bu komanda aiogram kutubxonasini kompyuteringizga o'rnatadi. Agar pip ishlamasa, sizda Python to'g'ri o'rnatilmagan bo'lishi mumkin.

3-Qadam: Birinchi Kodimiz – "Echo" Bot

Endi kod yozish vaqti keldi. bot.py nomli yangi fayl yarating va unga quyidagi kodni joylashtiring:

import asyncio
import logging
from aiogram import Bot, Dispatcher, types

# BotFather'dan olgan maxfiy tokeningizni shu yerga qo'ying
API_TOKEN = 'SIZNING_API_TOKENINGIZ'

# Loggingni sozlash (xatoliklarni ko'rish uchun)
logging.basicConfig(level=logging.INFO)

# Bot va dispatcher obyektlarini yaratish
bot = Bot(token=API_TOKEN)
dp = Dispatcher()

# /start komandasiga javob beruvchi funksiya
@dp.message(commands=['start', 'help'])
async def send_welcome(message: types.Message):
    await message.reply("Salom!\nMen KnowHub.uz'ning Echo Botiman!\nMenga xabar yuboring, men uni sizga qaytaraman.")

# Har qanday matnli xabarga javob beruvchi funksiya
@dp.message()
async def echo(message: types.Message):
    await message.answer(message.text)

# Botni ishga tushirish
async def main():
    await dp.start_polling(bot)

if __name__ == '__main__':
    asyncio.run(main())

Muhim: SIZNING_API_TOKENINGIZ degan joyga BotFather'dan olgan o'zingizning maxfiy tokeningizni qo'yishni unutmang.

Endi terminalda python bot.py komandasini yozib, botni ishga tushiring. Telegram'dan o'z botingizni topib, unga /start deb yozsangiz, u sizga salom berishi kerak! Har qanday boshqa xabar yuborsangiz, u aynan o'sha xabarni sizga qaytaradi. Tabriklayman, sizning birinchi botingiz ishlamoqda!

4-Qadam: Botni VPS'ga Yuklash (24/7 Ishlashi Uchun)

Hozir bot faqat sizning kompyuteringizda ishlayapti. Kompyuterni o'chirsangiz, bot ham "o'chadi". Botimiz 24/7 uxlamasdan ishlashi uchun uni serverga (VPS) yuklashimiz kerak.

  1. VPS'ga Ulanish: SSH orqali o'z VPS'ingizga ulaning.

  2. Kod nusxalash: Yozgan bot.py faylingizni VPS'ga nusxalang (masalan, scp komandasi orqali yoki GitHub'dan git clone qilib).

  3. Kutubxonani o'rnatish: VPS terminalida ham pip install aiogram komandasini yozib, kutubxonani o'rnating.

  4. Botni Ishga Tushirish (Eng oson usul): Bot doimiy ishlashi uchun biz screen utilitasidan foydalanamiz. Bu bizga terminal sessiyasini yopganimizda ham dasturni ishlab turishiga imkon beradi.

    • Terminalga screen deb yozing va Enter bosing. Yangi sessiya ochiladi.

    • Shu yangi sessiya ichida python bot.py komandasi bilan botingizni ishga tushiring.

    • Endi Ctrl+A ni bosib, keyin D harfini bosing. Bu sizni screen sessiyasidan "ajratadi", lekin bot ishlashda davom etadi. SSH'dan chiqib ketsangiz ham, botingiz endi 24/7 ishlaydi!

(Professionalroq usul esa systemd servis faylini yaratishdir, bu haqda keyingi maqolalarimizdan birida batafsil to'xtalamiz).

Mana, aziz do'stlar, biz noldan boshlab, nafaqat ishlaydigan, balki mustaqil serverda 24/7 faol bo'lgan Telegram botini yaratdik. Bu faqat boshlanishi! Keyingi maqolalarimizda botimizga tugmalar qo'shish, foydalanuvchilarni ma'lumotlar bazasiga saqlash va boshqa murakkab funksiyalarni qo'shishni o'rganamiz.

Bu jarayonda qanday savollar yoki qiyinchiliklar paydo bo'ldi? Izohlarda yozib qoldiring!


SamDevX Assalomu alaykum, KnowHub.uz'ga xush kelibsiz! Mening ismim Samandar. Texnologiyalar – mening ishtiyoqim. Bolaligimdan kompyuterlarga, yoshligimdan kod yozishga qiziqib kelaman. Bu yillar davomida dasturlashni o'rganish jarayonida ko'p qiyinchiliklarga duch keldim: ma'lumotlar tarqoq, o'zbek tilidagi manbalar esa deyarli yo'q edi. KnowHub.uz aynan shu tajribadan kelib chiqib tug'ilgan g'oya. Maqsadim – o'zim o'rgangan bilim va tajribalarni siz bilan bo'lishish, dasturlash va texnologiyalar olamiga endi kirib kelayotganlarga yo'l ko'rsatish va bu sohadagi barcha qiziquvchilarni bir joyga to'plash. Bu saytda men siz bilan go'yoki bir piyola qahva ustida suhbatlashgandek, murakkab narsalarni oddiy tilda tushuntirishga harakat qilaman. Biz bu yerda: Dunyodagi eng qiziqarli texno-yangiliklarni muhokama qilamiz; Kod yozishni amaliy misollarda o'rganamiz; Open Source'ning sirli olamiga sho'ng'iymiz. Profil rasmimdagi logotip bu saytga bo'lgan jiddiy niyatim va uning ortidagi g'oyani ifodalaydi. Umid qilamanki, bu maskan siz uchun ham foydali va qiziqarli bo'ladi. Keling, birgalikda o'rganamiz va o'sishamiz! Savollaringiz bo'lsa, tortinmang! Men bilan bemalol bog'laning.