Python 3 ile Temel Telgraf Botu Nasıl Oluşturulur

Python 3 ile Temel Telgraf Botu Nasıl Oluşturulur

Bir Telegram kullanıcısıysanız, bir noktada bir chatbot ile bir 'konuşma' yapmış olmanız gerekir. Şaşırtıcı özelleştirilebilirlikleri ile Telegram'ın botları, çeşitli avantajlar sunar --- görevleri otomatikleştirmek veya sohbet grubunuzdaki oyunlarla biraz eğlenmek için.





Bazıları bir bot geliştirmeyi göz korkutucu bir görev olarak görse de, gerçekten değil. Doğru planlamayla, bir Telegram botunu bir saatten kısa sürede hazır hale getirip çalıştırabilirsiniz! İstendiğinde internet kedilerinin sevimli resimlerini çıkaran basit bir Telegram botunun nasıl oluşturulacağı aşağıda açıklanmıştır.





Başlarken

Bu eğitim için Python 3'ü kullanacağız. piton-telgraf-bot ve istekler kütüphane ve TheCatAPI .





Telegram'daki her bot, iletişim kurmasına yardımcı olan benzersiz bir jetona sahiptir. Bot API'si uygulamanın mesajlaşma arayüzünü kullanmak için. Telegram'ın geliştiriciler arasında en popüler özelliklerinden biri olan Bot API, mesajlarını arayüz olarak kullanmanızı sağlar.

e-posta adresine bağlı tüm profilleri bul

Belirteci almak için şununla bir konuşma başlatın: @BotBaba adından da anlaşılacağı gibi, kendi botlarınızı oluşturmanıza ve özelleştirmenize izin veren resmi bir bottur. Verilen bağlantıyı kullanarak bota erişebilir veya alternatif olarak Telegram'da '@botfather' araması yapabilirsiniz.



Sohbete girdikten sonra, yazarak botunuzu oluşturun. /newbot emretmek. Botunuzun adını ve kullanıcı adını belirlemeye devam edin (bizimkine @pawsomebot adını vermeye karar verdik). Bunu takiben, botunuza özel bir jeton alacaksınız.

Artık tüm ön koşullara sahip olduğumuza göre, heyecan verici kısma geçme zamanı!





Kitaplıkları Yükleme

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

pip install python-telegram-bot
pip install requests

macOS veya Linux kullanıyorsanız, bunun yerine terminalinizde aşağıdaki komutları kullanın. Ek olarak Linux'ta, sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtığınızdan emin olun.





pip3 install python-telegram-bot
pip3 install requests

Programı Yazmak

Bilgisayarınızda yeni bir klasör oluşturun ve onu favori düzenleyicinizde 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 kütüphaneleri bazı yerleşik işlevleriyle birlikte içe aktaralım.

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

Programın bundan sonraki akışı, TheCatAPI'ye erişmek, rastgele bir görüntünün URL'sini almak ve bu görüntüyü kullanıcının sohbetine göndermektir.

İstekler modülünü kullanarak yapılabilen resim URL'sini almak için bir işlevle başlayalım. Bu fonksiyonda, TheCatAPI tarafından sağlanan rastgele bir dosyanın JSON verilerini yükler ve daha sonra kullanmak üzere URL'sini çıkarırız. JSON nesnesinin biçimine bakmak için şuraya gidin: https://api.thecatapi.com/v1/images/search tarayıcınızda. Bunun gibi bir şey fark edeceksiniz:

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

JSON nesnesinin bir sözlük içeren bir dizi olduğuna dikkat edin. Bu sözlük, 'url' anahtarlı URL'yi içerir. URL'yi çıkarmak için dizinin ilk öğesine ve ardından ilgili anahtara başvurmamız gerekir.

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

Sırada, bu resmi bir kullanıcının sohbetine göndermemiz gerekiyor. Bunun için, kullanıcının sohbetinin benzersiz kimliğinin yanı sıra bir resim URL'sine ihtiyacımız var. Bunu yapmak için bir sarmalayıcı işlevi oluşturalım. İlk olarak, diyoruz getUrl() . rastgele bir görüntünün URL'sini elde etme işlevi --- bu URL, programınız işlevi her yinelediğinde değişir.

Bunu, alıcı kullanıcının, mesajlar için botun hedef konumunu tanımlayan ve URL'yi Bot API'sinin yerleşik fotoğraf göndermek() işlev.

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 yerleşik işlevleri ve nasıl çalıştıkları hakkında daha fazla bilgi edinmek için Telegram'ın resmi belgeler bu eğitimden sonra.

Son olarak, botun genel çalışmasını kontrol eden bir fonksiyon oluşturalım. Geleneksel olarak main() olarak adlandırılan bu işlev --- eğitimin başında elde ettiğimiz belirteci kullanarak Bot API'sine bir HTTP isteği gönderdiğimiz ve ardından botun kullanıcı etkileşiminin nasıl olacağını tanımladığımız yerdir. Bizimki kadar basit bir durumda, bu aslında botu başlatmak ve botu çağırmak anlamına gelir. gönderGörüntü () kullanıcı tarafından istendiğinde işlev.

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()

Son programınız şö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 Telgraf Botunuz

Tebrikler! İstendiğinde en şirin internet kedilerinin açık kaynaklı görüntülerini gönderen kendi stres giderici botunuzu oluşturdunuz. Programınızı çalıştırmayı deneyin ve yazın /miyav etkinleştirmek için botunuzun sohbetinde.

Bu, sınırlı işlevselliğe sahip basit bir bot olsa da, Telegram'ın bot geliştirme ekosisteminin ne kadar güçlü olduğunu gösteriyor. Botunuzun işlevselliğini geliştirmek için istediğiniz sayıda karmaşık alt yordam ve özellik ekleyebilirsiniz --- sınır gökyüzünde. Katkıda bulunanların yıllar içinde yaptığı harika Telegram botları hakkında daha fazla bilgi edinmek için, sayfamıza göz atın. faydalı Telegram botlarının listesi .

GitHub gibi platformlarda Telegram botları için çeşitli açık kaynaklı lisanslı programlar da bulabilirsiniz. Çoğu açık kaynak lisansı, bir programın kaynak kodunu kullanmanıza, çalışmanıza, indirmenize veya değiştirmenize izin verir.

Telegram Botunuzu Çevrimiçi Barındırın

Artık botunuz hazır ve çalışır durumda olduğuna göre, bilgisayarınızda main.py'yi kapatmayı deneyin ve botu Telegram messenger uygulamanızda kullanın. hala cevap veriyor mu /miyav emretmek? Hayır, değil.

Yeni başlayan biri olarak, internette çalışan bir bot oluşturmuşken PC'nizdeki main.py'nin neden çalışır durumda olması gerektiği konusunda kafanız karışabilir. Bunun nedeni, programın bu programda 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ırmak zorunda kalmak ne mümkün ne de kullanışlıdır. Bu sorunu çözmek için botun cihazınıza olan bağımlılığını kaldırmamız gerekiyor.

Bunu yapmanın bir yolu, kendi web sunucunuzu kurmak ve programınızı çalıştırmak için kullanmak için Raspberry Pi gibi düşük maliyetli bir baskılı devre kartı (PCB) kullanmaktır. PCB'ler önemli ölçüde daha düşük enerji ayak izine sahip olma eğiliminde olduklarından, programı tüm gün ve gece açık tutma maliyeti olmadan PC'nizde çalıştırmakla aynı avantajlara sahiptir.

Alternatif olarak, programınızı buluta da dağıtabilirsiniz. Heroku, AWS, Google Cloud veya Microsoft Azure gibi bir web uygulaması barındırma platformuna gidin ve ihtiyaçlarınıza en uygun aboneliği seçin. Ücretsiz bir deneme veya abonelik seçmenizi ve programınızın ölçeğini veya kapsamını artırdıkça yükseltmenizi öneririz.

Paylaş Paylaş Cıvıldamak E-posta Python Web Sitenizi Heroku'da Ücretsiz Olarak Nasıl Barındırırsınız

Küçük bir web sitesini ücretsiz olarak barındırmanız mı gerekiyor? Heroku tam da aradığınız şey olabilir.

Sonrakini Oku
İlgili konular
  • Programlama
  • piton
  • Telgraf
  • sohbet robotu
  • Sosyal Medya Botları
Yazar hakkında Yash Chellani(10 Makale Yayınlandı)

Yash, teknolojiyle ilgili her şey hakkında bir şeyler inşa etmeyi ve yazmayı seven, hevesli bir bilgisayar bilimi öğrencisidir. Boş zamanlarında Squash oynamayı, en son Murakami'nin bir kopyasını okumayı ve Skyrim'de ejderha avlamayı sever.

Yash Chellani'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın