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.

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".
-
Telegram qidiruviga
@BotFather
deb yozing va tasdiqlangan (ko'k ptichkali) botni tanlang. -
/start
buyrug'ini yuboring. -
Yangi bot yaratish uchun
/newbot
buyrug'ini yuboring. -
BotFather sizdan botingiz uchun nom so'raydi. Masalan,
KnowHub Test Boti
. -
Keyin esa botingiz uchun unikal username so'raydi. Bu nom oxiri
bot
so'zi bilan tugashi shart. Masalan,KnowHubTestBot
. -
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:
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.
-
VPS'ga Ulanish: SSH orqali o'z VPS'ingizga ulaning.
-
Kod nusxalash: Yozgan
bot.py
faylingizni VPS'ga nusxalang (masalan,scp
komandasi orqali yoki GitHub'dangit clone
qilib). -
Kutubxonani o'rnatish: VPS terminalida ham
pip install aiogram
komandasini yozib, kutubxonani o'rnating. -
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, keyinD
harfini bosing. Bu sizniscreen
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!