Sıfırdan Telegram Bot Yapımını Öğrenelim!

ByPerPer

Uzman üye
23 Mar 2018
1,986
95
İstanbul
Selamünaleyküm dostlar, Telegram günümüzde yaygın hâle gelmeye başladı. Şahsen ben 2 yıla yakındır kullanıyorum, gayet de memnunum. Bu konuda size nasıl bot yapabilirsiniz onu göstereceğim.

telegram-logo.jpg




BotFather İle Botumuzu Oluşturalım!
Telegrama girip arama yerine @BOTFather yazıyoruz ve içeriye giriyoruz. /start diyoruz. Ardından uzun bir yazı çıkmakta /newbot diyerek yeni botumuzu oluşturuyoruz. Ardından size botun isminin ne olacağını soracaktır. Dilediğiniz ismi verebilirsiniz. İsim verdikten sonra bu sefer sizden kullanıcı adı isteyecektir. Yaptıktan sonra, bot size bir API verecektir onu bir yere not edin o bizim tokenimiz olacaktır.





Öncelikle klasör içinde bulunan requirements.txt dosyasında eksik olan modülleri kurmamız gerekiyor

terminale; "pip install -r requirements.txt"
Komutunu yazarak gerekli kütüphaneleri kuruyoruz.

Kod:
def returnBotToken() -> str:
    return loads(open('token.json', mode="r", encoding="utf-8").read())['token']

Klasör içinde ki token.json dosyasında tokeni okuyacak bir fonksiyon oluşturuyoruz bu fonksiyon botun tokenini bize döndürecek


Kod:
bot = telebot.TeleBot(token=returnBotToken())

bot adında bir değişken oluşturuyoruz bu değişken sayesinde botumuzu kontrol edebileceğiz.

En sonda bota ne gibi özellikler ekleyeceğiz onları vermemiz lazım, bu kısım sizin isteğinize göre değişebilir. Biz bu konuda
bota
/commands adında bir komut ile mevcut komutları iletmesini sağlayacak bir komut oluşturduk.
/start botu başlatan komut
/numberInfo sayılar hakkında bilgiler veren bir komut
ve grup içindeki linkleri otomatik silen bir fonksiyon olacak.



Fonksiyonların genel yapısı

@bot.message_handler(commands=['komut1','komut2']) burada fonksiyon hangi komutlarda çalışacağını belirtiyoruz
Kod:
@bot.message_handler(commands=['komut1','komut2'])
def welcomeMessage(message):

Fonksiyon bir değişken içerecek bu değişkeni kullanarak komut hakkında detaylı bilgileri alabileceğiz

Kod:
userName = message.from_user.first_name
    bot.reply_to(message, f"Merhaba {userName} TurkHackTeam Örnek Telegram Botuna Hoşgeldiniz ")

burada mesaj atan kullanıcının first_name değerini alıp bot.reply_to() fonksiyonu sayesinde mesajı alıntılayarak bir uyarı mesajı gönderecek.

bot.polling() ise botu sürekli şekilde dinleyip komutları çalıştıracak fonksiyonu


TOKEN.JSON DOSYA içeriği




requirements.txt



Kodlar;



Botumuzdan Görüntüler;



Destekleri için yazılım ekibinin @Ɲémesis ve @Suppressor üyelerine teşekkür ederiz.

6m24riw.jpg
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.