Let's make telegram bot with python[Türkçe]

in #utopian-io7 years ago (edited)

What Will I Learn?(Neler öğreneceğim ?)

In this tutorial we will learn how to create telegram bot, and its respond us

Bu yazımda nasıl bir telegram botu oluşturulur ve bu botun bize cevap vermesi nasıl sağlanır bunu öğreneceğiz.

Adım 1 'BotFather' botundan yeni bir bot isteği yapmak

Telegram üzerinden 'BotFather' botu ekliyoruz bütün botların babası olarak geçer ve yeni bir bot yaratılacağı zaman bu bottan yardım alırız.
İlk önce 'BotFather'a yeni bir bot oluşturma isteği yolluyoruz

/newbot

Burada bizim bota koyacağımız ismi soruyor sonu '_bot' ile bitmek zorunda

flyinghorse_bot

Ben botun ismini flyinghorse seçtim
Ardından bu bot bize API'a ulaşmamız için bir anahtar veriyor bu token ile botu kontrol edebiliyoruz bu aldığımız anahtara bundan sonra 'TOKEN' diyeceğim.
bot1.png

Adım 2 Gereksinimlerin Yüklenmesi

Botumuzu kodlarken telepot isimli bir python kütüphanesinden yardım alacağız.
https://github.com/nickoala/telepot

pip:

$ pip install telepot
$ pip install telepot --upgrade  # UPGRADE

easy_install:

$ easy_install telepot
$ easy_install --upgrade telepot  # UPGRADE

Kullancağımız kütüphaneyi pip,easy_install veya kendimiz derleyerek kuruyoruz.

Adım 3 Kendi ID'mizi Öğrenmek

İlk önce botumuzu telegramda ismiyle buluyoruz ve kendisine bir test mesajı yolluyoruz.
'Merhaba Guven Test 123' gibi.
b1.png
Ardından python konsoluna düşelim.
(Unix tabanlı bilgisayarlar komut satırına python yazmanız yeterli)

>>> import telepot
>>> bot = telepot.Bot('TOKENİ BURAYA YAZIN')
>>> from pprint import pprint
>>> response = bot.getUpdates()
>>> pprint(response)
[{u'message': {u'chat': {u'first_name': u'Ali G\xfcven',
                         u'id': 989898989,
                         u'type': u'private'},
               u'date': 1517112420,
               u'from': {u'first_name': u'Ali G\xfcven',
                         u'id': 989898989,
                         u'is_bot': False,
                         u'language_code': u'tr'},
               u'message_id': 794,
               u'text': u'Merhaba Guven Test 123'},
  u'update_id': 442190839}]

Yukarıdaki '989898989' yazan yerlerde sizin telegram hesabızın idsi olacaktır

Adım 4 Kendimize Mesaj Yollayalım

Python konsolunu hiç kapatmadan komutumuzu girelim

>>> bot.sendMessage(989898989,'Merhaba Ben Bot')
{u'date': 1517112673, u'text': u'Merhaba Ben Bot', u'from': {u'username': u'flyinghorse_bot', u'first_name': u'flyinghorse', u'is_bot': True, u'id': 355918951}, u'message_id': 795, u'chat': {u'first_name': u'Ali G\xfcven', u'type': u'private', u'id': 274359781}}

76bf5c2894b93260cce7dab9803458db.png

Gönderdiğimiz mesaj bize geldiyse eğer buraya kadar herşeyi doğru yapmışız demektir.

Adım 5 Artık Kendi Botumuzu Faaliyete Geçirelim

https://github.com/Ovmedia/flyinghorse/blob/master/main.py

bir tane main.py adlı bir dosya açıyoruz ve python ile bunu çalıştırınca botumuz aktif hale geliyor

>>>python main.py

Bu yazıyı oluştururken
http://telepot.readthedocs.io/en/latest/
kaynağından yararlandım.

SON

Halihazır ben bu yaptığımız botun biraz daha geliştirilmiş halini kullanmaktayım kodlar biraz karmaşık olduğu için github üzerinde yayınlamadım ama önümüzdeki günler içerisinde hem yeni özellikler ekleyip hemde var olan özellikleri ile paylaşmayı düşünüyorum.

Var olan özellikler

Hava Durumu
Borsa Sorgulamaları

Eklenecekler

SBD-STEEM Sorgulamaları
Steemit üzerinden istekleri anında size iletmesi

Buraya kadar bot nasıl oluşturulur kısmı için yaptım bundan sonraki kısım development başlığı altında paylaşacağım.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @overmedia I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.031
BTC 58976.49
ETH 2502.14
USDT 1.00
SBD 2.48