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.

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!