Digital Report
  • DERGİ
  • TEKNOLOJİ
  • YAPAY ZEKA
  • PROFESYONEL
    • GİRİŞİM
    • E-TİCARET
    • FİNTEK
    • MARKA
  • GÜVENLİK
  • KRİPTO
  • OYUN
  • REHBER
No Result
View All Result
Digital Report
No Result
View All Result
Home Rehber

Pyhton 3 ile basit Telegram botu yapma

by Nihat Bilge
14/01/2021
in Rehber
Pyhton 3 ile basit Telegram botu yapma
Facebook'ta PaylaşTwitter'da PaylaşLinkedIn'de PaylaşWhatsApp'ta PaylaşTelegram'da Paylaş

Yeni başlayanlar için Pyhton 3 ile basit Telegram botu yapma süreçlerini anlattık. Eğer aktif bir Telegram kullanıcısıysanız, daha önce bir chatbot ile görüşme yapmış olabilirsiniz. Özelleştirme noktasında inanılmaz yönleri ile Telegram botları birçok avantaj sunuyor. Görevleri otomatikleştirmek, sohbet gruplarında birtakım verileri anında herkesle paylaşmak gibi yönleriyle Telegram botları oldukça popüler.

Telegram’da bot geliştirmek, bu süreçlere çok hakim olmayanlar için göz korkutucu gelse de aslında öyle değil. Doğru bir planlama ve çalışma ile, Telegram botunuzu bir saatten kısa sürede kurabilir ve çalıştırabilirsiniz. İnternetten kedi fotoğraflarını getiren basit bir Telegram botunun nasıl oluşturulduğunu anlattık.

  • Telegram ve Signal 2021’in ilk kazananları oldu
  • Telegram grup ve kanal bulma [Nasıl Yapılır]
  • Discord ve Telegram için en iyi müzik botları

Adım adım Pyhton 3 ile basit Telegram botu yapma: Nasıl başlayacaksınız?

Bu çalışmada dil olarak Pyhton 3, Pyhton-telegram-bot ile gerektirdiği kütüphaneleri ve TheCatAPI kullanacağız.

Pyhton 3 ile basit Telegram botu yapma

Telegram’daki her bot, uygulamanın mesajlaşma arayüzünü kullanmak için Bot API ile iletişim kurmasına yardımcı olan benzersiz bir token’a sahip. Telegram’ın geliştiriciler arasında en popüler özelliklerinden biri olan Bot API, mesajları arayüz olarak kullanmaya olanak tanıyor.

Token’ı almak için, isminden de anlaşışacağı gibi, kendi botlarınızı oluşturmanıza ve özelleştirmenize izin veren resmi bir bot olan @botfather ile bir konuşma başlatın. Telegram’da “@botfather” araması yaparak bu bota ulaşabilirsiniz.

Sohbete girdikten sonra /newbot komutunu yazarak botunuzu oluşturun. Botunuzun adını ve kullanıcı adını belirlemeye devam edin. Bu örnekte @passomebot ismi ile bir bot geliştireceğiniz. Bunu takiben botunuza özel bir token alacaksınız.

Pyhton 3 ile basit Telegram botu yapma konusunda ön hazırlıkları tamamladığımıza göre, heyecan verici asıl kısma adım atalım.

Kitaplıkları yükleyin

Windows kullanıyorsanız, komut istemini açın ve aşağıdaki komutları yazın: 

  • pip install python-telegram-bot
  • pip install requests

MacOS ya da Linux kullanıyorsanız, bunun yerine terminalinizde aşağıdaki komutları kullanın. Ayrıca Linux’ta, sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtığınızdan da emin olmalısınız.

  • pip3 install python-telegram-bot
  • pip3 install requests

Programı yazmak

Bilgisayarınızda yeni bir klasör oluşturun ve onu en sevdiğiniz düzenleyicide açın. Yeni bir dosya oluşturun ve main.py olarak adlandırın. Bu dosya, botunuzun kaynak kodunu içerecektir.

Şimdi, daha önce kurduğumuz kitaplıkları bazı yerleşik işlevleri ile birlikte içe aktaralım.

  • from telegram.ext import Updater, CommandHandler
  • import requests
  • import re

Buradan itibaren programın akışı, TheCatAPI’ye erişmek, rastgele bir görüntünün URL’sini almak ve bu görüntüyü kullancının sohbetine göndermektir.

İstekler modülü kullanılarak yapılabilen fotoğraf URL’sini almak için bir işlevle başlayalım. Bu işlevde, TheCatAPI tarafından sağlanan rastgele bir dosyanın JSON verilerini yüklüyoruz ve daha sonra kullanmak üzere URL’sini çıkarıyoruz. JSON nesnesinin formatına bakmak için tarayıcınızda https://api.thecatapi.com/v1/images/search adresine gidin. Aşağıdakine benzer bir içerik fark edeceksiniz:

[{“breeds”:[],”id”:”a8c”,”url”:”url.jpg”,”width”:800,”height”:533}]

JSON nesnesinin bir sözlüğü tutan dizi olduğuna dikkat edin. Bu sözlük, “url” anahtarına sahip URL’i içerir. URL’yi çıkarmak için bir dizinin ilk öğesine ve ardından ilgili anahtara başvurmanız gerekir.

def getUrl():

    #obtain : görüntü ayrıntılarıyla bir json nesnesi

    #extract : json nesnesinden bir fotoğraf url’s

    contents = requests.get(‘https://api.thecatapi.com/v1/images/search’)

    url = contents[0][‘url’]

    return url

Ardından, bu fotoğrafı bir kullanıcının sohbetine göndermemiz gerekiyor. Bunun için bir fotoğraf URL’sine ve kullanıcının sohbetinin benzersiz adresine ihtiyacımız var. Bunu yapmak için bir wrapper işlevi oluşturalım. İlk önce getUrl() adını veriyoruz. Rastgele bir görüntünün URL’sini alma işlevi — bu URL, programın işlevi her yenilendiğinde değişir.

Bunu daha sonra, alıcının mesajlar için botun hedef konumunu tanımlayan ve URL’yi Bot API’nin dahili send_photo() işlevi aracılığıyla ayrıştıran sohbet kimliğinin alınması izler.

def sendImage(bot, update):

    url = getUrl()

    chat_id = update.message.chat_id

    bot.send_photo(chat_id=chat_id, image=url)

Bot API’nin çeşitli dahili işlevleri ve nasıl çalıştıkları hakkında daha fazla bilgi edinmek için, bu çalışmanın ardından Telegram’ın resmi dökümanlarına göz atabilirsiniz.

Son olarak, botun genel çalışmasını kontrol eden bir işlev oluşturalım. Geleneksel olarak main () biçiminde adlandırılan bu işlev, çalışmanın en başında elde ettiğimiz belirteci kullanarak Bot API’ye bir HTTP isteği gönderdiğimiz ve ardından botun kullanıcı etkileşiminin nasıl olacağını tanımladığımız yerdir. Bunun kadar basit bir durumda, bu aslında botu başlatmak ve kullanıcı tarafından istendiğinde sendImage () işlevini çağırmak anlamına gelir.

def main():

    updater = Updater(“1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c”)

    #call sendImage() kullanıcılar Telegram’da bir komut yazdığında

chat

    updater.dispatcher.add_handler(CommandHandler(‘meow’,sendImage))

    #start the bot

    updater.start_polling()

    updater.idle()

if __name__ == ‘__main__’:

    main()

Son program kodları ise şöyle görünmelidir:

from telegram.ext import Updater, CommandHandler

import requests

import re

def getUrl():

    #obtain a json object with image details 

    #extract image url from the json object

    contents = requests.get(‘https://api.thecatapi.com/v1/images/search’)

    url = contents[0][‘url’]

    return url

def sendImage(bot, update):

    url = getUrl()

    chat_id = update.message.chat_id

    bot.send_photo(chat_id=chat_id, image=url)

def main():

    updater = Updater(“1190888035:AAGeJ9316R95NqJLFefV5vQA-UL4np11V2c”)

    #call sendImage() when the user types a command in the telegram chat

    updater.dispatcher.add_handler(CommandHandler(‘meow’,sendImage))

    #start the bot

    updater.start_polling()

    updater.idle()

if __name__ == ‘__main__’:

    main()

Kendi Telegram botunuzu yarattınız!

Pyhton 3 ile basit Telegram botu yapma adımları işte bu kadar pratik. Kullanıcılar istediğinde, internetin en sevimli kedilerini gönderen açık kaynaklı bir Telegram botu yaptınız. Programı çalıştırmayı deneyin ve etkinleştirmek için sohbet ekranında /meow yazın.

Bu bot, sınırlı işlevselliğe sahip olsa da, Telegram’ın bot ekosistemi son derece güçlü. Botunuzun işlevselliğini geliştirmek için istediğiniz sayıda karmaşık alt program ve özellik ekleyebilirsiniz. Yıllat içinde birçok geliştiricinin katkıda bulunduğu Telegram botları, birçok açıdan oldukça kullanışlı yapılar.

Telegram botununun hosting ihtiyacı

Botunuz hazır ve çalışır durumda olduğuna göre bilgisayarınızda main.py’yi kapatmayı deneyin ve Telegram uygulamasında botu kullanın. Meow komutuna bir yanıt geliyor mu? Maalesef…

Telegram botları konusunda yeni başlayan biriyseniz, çalışan bir bot oluşturduğunuzda PC’nizdeki main.py’nin neden çalışmadığı konusunda kafanız karışabilir. Bunun nedeni programın, kullanılan API’lere HTTP istekleri göndermek için, bilgisayarınızı yerel bir sunucu olarak kullanmasıdır.

Bu nedenle uygulamayı her kullanmak istediğinizde programı çalıştırmanız gerektiği gerçeğiyle karşılaşacaksınız ancak bu çok kullanışlı değildir. Bu sorunu çözmek için botun, cihazınıza olan bağımlılığını kaldırmanız gerekiyor.

Bunu yapmanın yollarından biri kendi web sunucunuzu kurmak ve programı çalıştırmak için kullnmak üzere, Raspberry Pi gibi düşük maliyetli bir PCB kullanmaktır. PCB’ler önemli ölçüde daha düşük enerji ayak izine sahip olma eğiliminde olduğundan, tüm gün boyunca PC çalıştırmaya nazaran çok daha uygun maliyetlidir ve aynı avantajlar sunar.

Alternatif olarak programınızı buluta da dağıtabilirsiniz. Heroku, AWS, Google Cloud ya da Microsoft Azure gibi web barındırma platformlarına giderek ihtiyacınıza en uygun aboneliği seçebilirsiniz. Ücretsiz bir deneme veya bonelik seçmenizi ve programınızın ölçeğini ve kapsamını artırdıkça yükseltmenizi öneririz. İşte Phytonh 3 ile Telegram botu yapma işlemi bu kadar…

Tags: botchatbotpyhtonTelegramtelegram botu

İLGİLİ YAZILAR

Telegram'da engellendiğinizi pratik yöntemlerle nasıl anlarsınız
Rehber

Telegram’da engellendiğinizi pratik yöntemlerle nasıl anlarsınız

by Aytun Çelebi

Telegram, günlük iletişimlerimizin vazgeçilmez bir parçası haline geldi ve bazen birinin sizi engelleyip engellemediğini Telegram'da engellendiğinizi anlama merakı doğar. Bu...

Read moreDetails
Telegram'da mesaj gitmeme sorununu çözmenin pratik yolları
Rehber

Telegram’da mesaj gitmeme sorununu çözmenin pratik yolları

by Aytun Çelebi

Telegram gibi popüler mesajlaşma uygulamalarında mesaj gitmemesi sorununu çözmek, hızlı iletişim kurmanızı sağlar ve günlük hayatınızı aksatmaz. Bu sorun, internet...

Read moreDetails
Telegram çok fazla deneme hatası giderme rehberi
Rehber

Telegram çok fazla deneme hatası giderme rehberi

by Emre Çıtak

Telegram gibi popüler mesajlaşma uygulamalarında karşılaşılan hatalar, günlük iletişimi aksatabiliyor. Özellikle Telegram'da çok fazla deneme hatasını çözmek için doğru adımları...

Read moreDetails
telegram liquid glass
Teknoloji

Telegram’a iOS 26 Liquid Glass arayüzü geldi

by Kerem Gülen

Telegram, hafta sonunda iOS platformu için yayınladığı yeni bir güncellemeyle bir dizi özellik ve dikkat çekici görsel yenilikler sundu. Güncellemenin...

Read moreDetails

SON YAZILAR

Çin siber yasası kritik olaylara 60 DK bildirim getirdi

SpaceX 4400 Starlink uydusunu 480 km’ye indirecek

Yarı iletken satışları 2026’da 1 trilyon’u aşacak

Bumblebee AI ile rus deposunu vurdu

NSosyal milli yazılımla hikayeleri ekledi

TSMC Nanjing’e ABD ekipman lisansı verildi

Apple Vision Pro üretimini satış şokuyla kesti

Neuralink 2026’da yüksek hacimli üretime başlıyor

Nvidia RTX 5090 stok krizi ve ROP kusuruyla çalkalandı

iPhone 17 Pro’larda şarjda hoparlör cızırtısı ortaya çıktı

SON REHBERLER

Dizüstü bilgisayarlarda ekran kartı değişimi yapmak mümkün mü

EA Sports FC 24 açılmıyor sorununu çözmek için pratik yollar

Windows’ta dosya veya dizin bozuk ve okunamaz hatası nasıl çözülür

Konuşan kişiyi bambaşka birine dönüştüren ses değiştirici uygulamalar

iPhone’da kameranız eskisi gibi net çekmiyorsa ayarları nasıl sıfırlanır

Windows’ta bilgisayar fan hızını SpeedFan ile otomatik ayarlama

Ekran çözünürlüğünde HD ile FHD arasındaki fark nasıl anlaşılır

Windows komut istemi’nde SFC scannow komutunu nasıl çalıştırılır

FPGA nedir ne işe yarar nerelerde kullanılır avantajları dezavantajları

Sıra beklemeden çipli TC kimlik kartıyla PTT ATM’sinden para çekme

BASIN BÜLTENLERİ

RTB House, Derin Öğrenme ile dijital reklamcılığın yeni işletim sistemini kuruyor

ESET, Çin bağlantılı LongNosedGoblin APT grubunu tespit etti

Simya VC’den Rudiq’e 1 milyon dolar yatırım

Huawei Cloud, İstanbul’da dijital perakende buluşması düzenledi

SteelSeries, tek kulaklıkla birden fazla platformda oyun oynama özgürlügü sunuyor

Aktif Tech, Deloitte Teknoloji Fast 50’de üçüncü oldu

Dolap, 2024 yılında 307 bin 340 ton karbon salımını önledi

Canon, Istanbul’da EOS R6 Mark III ve EOS C50 tanıttı

LG, yeni yıl için soundbar kampanyasını duyurdu

Citrix, Hibrit çoklu bulut lisans modeli sunuyor

Digital Report

© 2019 Digital Report bir Linkmedya markasıdır.

  • Dergi
  • Yazarlar
  • Basın bültenleri
  • Gizlilik
  • İletişim
  • Künye

Bizi takip edin

No Result
View All Result
  • TEKNOLOJİ
  • YAPAY ZEKA
  • PROFESYONEL
    • GİRİŞİM
    • E-TİCARET
    • FINTECH
    • MARKA
  • GÜVENLİK
  • KRİPTO
  • OYUN
  • REHBER
  • BASIN BÜLTENLERİ
  • YAZARLAR
  • DERGİ
  • KÜNYE
  • İLETİŞİM