04-06-2019, Saat: 21:38
Herkese merhaba,
Python ile telegram bot nasıl yapılır? gibi sorular mutlaka internet ortamında bir çok site veya forumda sorulmuştur ve illaki de gerekli cevapları verilmiştir. Hatta bu forumda da bir çok kişi belki telegram botu yapmakta sıkıntı çekmiyordur. Fakat yeni başlayanlar veya python bilseler de telegram botu yapmakla ilgili hiç bir fikri olmayanlar mutlaka bu sorunun cevabını en çok uğradığı sitelerden arayacaklardır. Ben de ilk defa kullanacaklar veya fikir sahibi olmak isteyenler için github üzerinden bir örnek hazırladım.
Bu örneğe geçmeden önce yapmamız gerek bir iki şey var;
1- Telegram hesabınızın olması, yoksa uygulamayı indirip açmanız.https://telegram.org/ her platformda desteği vardır ve inanın whatsapp'a göre on numara bir windows uygulaması vardır.
2- Daha sonra BotFather'a girip https://t.me/BotFather /newbot komutunu verip botun ismini, kullanıcı adını ayarladıktan sonra BotFather botu oluşturup size api 'de kullanmanız için Token verecektir, o tokeni bir köşeye not edin ve kimseyle paylaşmayın.
Bu adımları yaptıktan sonra örnek kodlarımızı kullanmanız için bilgisayarınızda veya sunucunuzda python2.7 yüklü olması gerek, eğer yüklü değilse ve python 3x kullanıyorsanız ona göre düzenlemeler yapılır, çünkü ben python2.7 kullanıcısı olduğum için kodlarımı ona göre hazırladım. İsteğe göre 3x için düzenlemelerde yardımcı olabilirim bu konu içerisinde.
Buraya kadar anlaşıldıysa bundan sonrası sadece çalıştırma aslında Eğer python biliyorsanız zaten ilgili fonksiyonları kendinize göre düzenlersiniz. Çünkü bu örneğin amacı sadece size, telegram botu ve botu çalıştırdıktan sonra bot üzerinden ilgili fonksiyonların nasıl kullanılacağına dair bir fikir edindirmektir.
En temel fonksiyonları scriptin içine yazdım ve bunlardan biraz bahsetmek istiyorum.
my_id:
Bu fonksiyonun çağrısı için telegram botunda /me komutudur. Bu komutu verdikten sonra telegram botu size telegram id'nizi söyleyecektir.
command:
Bu fonksiyonun çağrısını yaparken de farkli bir özellik kullandım, telegramdaki temel komutu /echo olsa da /echo selam yazdığınızda szie selam geri dönecektir. Başka bir şey de yazabilirsiniz.
message:
Bu fonksiyonda da herhangi bir çağrı yapmanız gerekmiyor, ekrana komut vermeden bir şeyler yazdığınızda size yazdığınız mesajın geri yazılmasını sağlayan fonksiyondur.
Bu fonksiyonları bir kaç örnek aynı bot içinde olması için bu şekilde düzenledim fakat siz tabiki de kendinize göre editleyebilirsiniz. Asıl mantık nasıl yapıldığını görmek.
Peki iyi güzel de ben bu telegram botu ile ne yapabilirim?
Diye düşünecekler mutlaka olacaktır ama inanın bu sizin hayal gücünüze bağlı bir şey. Mesela bir uploader botu yapabilirsiniz, sunucunuza (vps/vds) kurarsınız botu ve telegramdan sadece direkt lin gönderirsiniz o sizin yerinize yükleme yapar veya indirme yapar. Tabi bunu verdiğim bu örnek yapmaz, kodları geliştirip yazacak olan sizsiniz Mesela bir kontrol scripti yazarsınız, belirlediğiniz koşullar gerçekleştiğinde size mesaj atar. Ya da premium hesaplarınız için bir dağıtım botu yaparsınız tr.link ile link kısaltıp kullanıcılara hesapları dağıtırsınız. Satışlarınız için kullanabilirsiniz vs vs. Aklınıza ne geliyorsa artık...
Dikkat: Botu kullanırken bulunduğu dizinde token.txt dosyasına tokeninizi yazıp kullanabilirsiniz.
Python Kodları:
Github bağlantısı https://github.com/emreboluk/TelegramBotExample
git ile kullanmak isteyenler için:
token.txt düzenledikten sonra
Umarım yararlı olmuştur, iyi forumlar...
Python ile telegram bot nasıl yapılır? gibi sorular mutlaka internet ortamında bir çok site veya forumda sorulmuştur ve illaki de gerekli cevapları verilmiştir. Hatta bu forumda da bir çok kişi belki telegram botu yapmakta sıkıntı çekmiyordur. Fakat yeni başlayanlar veya python bilseler de telegram botu yapmakla ilgili hiç bir fikri olmayanlar mutlaka bu sorunun cevabını en çok uğradığı sitelerden arayacaklardır. Ben de ilk defa kullanacaklar veya fikir sahibi olmak isteyenler için github üzerinden bir örnek hazırladım.
Bu örneğe geçmeden önce yapmamız gerek bir iki şey var;
1- Telegram hesabınızın olması, yoksa uygulamayı indirip açmanız.https://telegram.org/ her platformda desteği vardır ve inanın whatsapp'a göre on numara bir windows uygulaması vardır.
2- Daha sonra BotFather'a girip https://t.me/BotFather /newbot komutunu verip botun ismini, kullanıcı adını ayarladıktan sonra BotFather botu oluşturup size api 'de kullanmanız için Token verecektir, o tokeni bir köşeye not edin ve kimseyle paylaşmayın.
Bu adımları yaptıktan sonra örnek kodlarımızı kullanmanız için bilgisayarınızda veya sunucunuzda python2.7 yüklü olması gerek, eğer yüklü değilse ve python 3x kullanıyorsanız ona göre düzenlemeler yapılır, çünkü ben python2.7 kullanıcısı olduğum için kodlarımı ona göre hazırladım. İsteğe göre 3x için düzenlemelerde yardımcı olabilirim bu konu içerisinde.
Buraya kadar anlaşıldıysa bundan sonrası sadece çalıştırma aslında Eğer python biliyorsanız zaten ilgili fonksiyonları kendinize göre düzenlersiniz. Çünkü bu örneğin amacı sadece size, telegram botu ve botu çalıştırdıktan sonra bot üzerinden ilgili fonksiyonların nasıl kullanılacağına dair bir fikir edindirmektir.
En temel fonksiyonları scriptin içine yazdım ve bunlardan biraz bahsetmek istiyorum.
my_id:
Bu fonksiyonun çağrısı için telegram botunda /me komutudur. Bu komutu verdikten sonra telegram botu size telegram id'nizi söyleyecektir.
command:
Bu fonksiyonun çağrısını yaparken de farkli bir özellik kullandım, telegramdaki temel komutu /echo olsa da /echo selam yazdığınızda szie selam geri dönecektir. Başka bir şey de yazabilirsiniz.
message:
Bu fonksiyonda da herhangi bir çağrı yapmanız gerekmiyor, ekrana komut vermeden bir şeyler yazdığınızda size yazdığınız mesajın geri yazılmasını sağlayan fonksiyondur.
Bu fonksiyonları bir kaç örnek aynı bot içinde olması için bu şekilde düzenledim fakat siz tabiki de kendinize göre editleyebilirsiniz. Asıl mantık nasıl yapıldığını görmek.
Peki iyi güzel de ben bu telegram botu ile ne yapabilirim?
Diye düşünecekler mutlaka olacaktır ama inanın bu sizin hayal gücünüze bağlı bir şey. Mesela bir uploader botu yapabilirsiniz, sunucunuza (vps/vds) kurarsınız botu ve telegramdan sadece direkt lin gönderirsiniz o sizin yerinize yükleme yapar veya indirme yapar. Tabi bunu verdiğim bu örnek yapmaz, kodları geliştirip yazacak olan sizsiniz Mesela bir kontrol scripti yazarsınız, belirlediğiniz koşullar gerçekleştiğinde size mesaj atar. Ya da premium hesaplarınız için bir dağıtım botu yaparsınız tr.link ile link kısaltıp kullanıcılara hesapları dağıtırsınız. Satışlarınız için kullanabilirsiniz vs vs. Aklınıza ne geliyorsa artık...
Dikkat: Botu kullanırken bulunduğu dizinde token.txt dosyasına tokeninizi yazıp kullanabilirsiniz.
Python Kodları:
PHP Kod:
#!/usr/bin/env python2.7
import os
if os.path.exists("token.txt"):
token = open("token.txt").readline().strip()
else:
print "token not defined, exiting..."
os._exit(0)
try :
from telegram.ext import Updater
from telegram.ext import CommandHandler, MessageHandler
except:
os.system("sudo pip install python-telegram-bot --upgrade")
from telegram.ext import Updater
from telegram.ext import CommandHandler, MessageHandler
updater = Updater(token = token)
dispatcher = updater.dispatcher
def my_id(bot, update):
id = update.message.chat_id
name = update.message.chat.first_name
msg = "Hello {},\n Your telegram id {}".format(name, id)
bot.sendMessage(chat_id=update.message.chat_id, text=msg)
def command(bot, update, args=None):
name = update.message.chat.first_name
if args:
msg = "<b>CommandHandler Echo: </b>\n"
msg += " ".join(args)
else:
msg = "Hello %s,\n" \
"This is echo command.\n\n" \
"Example: <b> /echo hello bot</b>\n" \
"Response: <b>hello bot</b>" % name
bot.sendMessage(chat_id=update.message.chat_id, text=msg, parse_mode="HTML")
def message(bot, update):
name = update.message.chat.first_name
text = update.message.text.encode("utf-8")
msg = "<b>MessageHandler Echo: </b>\n{}".format(text)
bot.sendMessage(chat_id=update.message.chat_id, text=msg, parse_mode="HTML")
dispatcher.add_handler(CommandHandler("me", my_id))
dispatcher.add_handler(CommandHandler("echo", command, pass_args=True))
dispatcher.add_handler(MessageHandler("", message))
# start bot
updater.start_polling()
Github bağlantısı https://github.com/emreboluk/TelegramBotExample
git ile kullanmak isteyenler için:
Kod:
git clone https://github.com/emreboluk/TelegramBotExample.git
Kod:
cd TelegramBotExample
token.txt düzenledikten sonra
Kod:
python MyBOT.py
Umarım yararlı olmuştur, iyi forumlar...
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club