Selamlar ben WENXWAR
Farklı Farklı Kaynaklardan Araştırdığım Python İle Telegram Botu Yapma Konusunu Bildiğim Kadarıyla Sizlere Aktarmaya Çalışacağım.
Umarım Beğenirsiniz.. Keyifli Okumalar.
Bu işleme adım adım bakacak olursak,sırasıyla;
Adım 1 :
Telegram hesabınızı açın ve arama çubuğuna “BotFather” yazın.
Adım 2 :
“BotFather” üzerine tıklayın ve “Başlat” butonuna tıklayın.
Adım 3 :
“/newbot” yazın.
Adım 4 :
Benzersiz bot adı belirleyin.(Örnek Tele Bot)
Adım 5 :
Şimdi botunuz için benzersiz bir kullanıcı adı yazın.
Unutmayın: kullanıcı adı 'bot' ile bitmelidir.
Adım 6 :
Benzersiz bir kullanıcı adı verdikten sonra aşağıdaki gibi bir mesaj alacaksınız. HTTP API'sine erişmek için bir belirteç içerir. Simgenizi güvende tutun ve güvenli bir şekilde saklayın.
Adım 7 :
Webhook yanıtı için Flask app oluşturma.
Öncelikle bilgisayarınıza python ve flask kurmanız gerekecek.
Flask app'ın düzgün çalışıp çalışmadığını kontrol etmek için bu kodu çalıştırın. Kodu çalıştırdığınızda karşınıza “ http://127.0.0.1:5000/ ” şeklinde bir sunucu bağlantısı gelecektir, bu bağlantıya tıklayın, “Hoş Geldiniz!” yanıtını göreceğiniz web sayfasına yönlendirileceksiniz.
Adım 8 :
NGROK kurulumu.
Ngrok'a gidin ve "ngrok http 5000" komutunu yazın, bu komutu çalıştırdıktan sonra linkleri alacaksınız.
Bu Ngrok bağlantılarından HTTPS bağlantısını kopyalayın ve tarayıcınıza yapıştırın. “Hoş Geldiniz!” yanıtını göreceksiniz. önceki adımla aynı.
Adım 9 :
Webhook kurun.
Şimdi telgraf botu için Webhook ayarlamamız gerecek..
Bağlantıyı tarayıcınızda çalıştırarak yapabilirsiniz.
Bağlantıyı web tarayıcınızda çalıştırdıktan sonra, aşağıdaki resimde gösterilen yanıtı alacaksınız.
Adım 10 :
JSON yanıtı alın.
Artık bota yazacağımız herhangi bir metin için telegram botundan JSON yanıtını almamız gerekecek.
Şimdi VS Code'u açın ve aşağıdaki kodu ekleyin ve önceki kodu çalıştırdığınız aynı Ngrok bağlantısında çalıştırın.
Telegram sohbet botunuz için belirteci aldığınız BotFather'da, URL'yi Telegram botunuza yönlendirmek için de dosyalayabilirsiniz.
Bundan sonra botla sohbeti başlatmak için Botu Başlat'a tıklayın. Ardından, "test botu" gibi istediğiniz herhangi bir mesajı veya istediğiniz herhangi bir şeyi yazın.
Botunuza “test bot” yazdıktan sonra şimdi Vscode'a gidin, aşağıdaki JSON'u terminalinizde dosyalayacaksınız.
Burada telegram botuna yazdığımız mesajı text olarak arka uçta alabildiğimizi görebiliriz.
Adım 11 :
metin mesajını bottan gönderin.
Kullanıcıdan “hi” mesajına cevap almak için kodu yazacağız ve “hi” dışında bir şey ima edilirse “webhook'tan” ile cevap vereceğiz.
Telegram Botunda aşağıdaki yanıtı alacağız.
Adım 12 :
Görüntüyü Alın.
Artık görüntüyü telegram botundan da alabiliriz.
İşte telgraftan alacağınız cevap.
Şimdilik Bu kadar Arkadaşlar İsterseniz Daha fazla araştırarak devamını getirmeye çalışırım..
OKUDUĞUNUZ İÇİN TEŞEKKÜRLER..
Araştırma Kaynakları : GeeksforGeeks | A computer science portal for geeks
Towards Data Science
Python Programming Blog
Farklı Farklı Kaynaklardan Araştırdığım Python İle Telegram Botu Yapma Konusunu Bildiğim Kadarıyla Sizlere Aktarmaya Çalışacağım.
Umarım Beğenirsiniz.. Keyifli Okumalar.
Bu işleme adım adım bakacak olursak,sırasıyla;
Adım 1 :
Telegram hesabınızı açın ve arama çubuğuna “BotFather” yazın.
Adım 2 :
“BotFather” üzerine tıklayın ve “Başlat” butonuna tıklayın.
Adım 3 :
“/newbot” yazın.
Adım 4 :
Benzersiz bot adı belirleyin.(Örnek Tele Bot)
Adım 5 :
Şimdi botunuz için benzersiz bir kullanıcı adı yazın.
Unutmayın: kullanıcı adı 'bot' ile bitmelidir.
Adım 6 :
Benzersiz bir kullanıcı adı verdikten sonra aşağıdaki gibi bir mesaj alacaksınız. HTTP API'sine erişmek için bir belirteç içerir. Simgenizi güvende tutun ve güvenli bir şekilde saklayın.
Adım 7 :
Webhook yanıtı için Flask app oluşturma.
Öncelikle bilgisayarınıza python ve flask kurmanız gerekecek.
Python:
pip install Flask
Python:
from flask import Flask[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]app = Flask(__name__)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]@app.route('/')
def index():
return "<h1>Welcome!</h1>"[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]if __name__ == '__main__':
app.run(threaded=True)
Flask app'ın düzgün çalışıp çalışmadığını kontrol etmek için bu kodu çalıştırın. Kodu çalıştırdığınızda karşınıza “ http://127.0.0.1:5000/ ” şeklinde bir sunucu bağlantısı gelecektir, bu bağlantıya tıklayın, “Hoş Geldiniz!” yanıtını göreceğiniz web sayfasına yönlendirileceksiniz.
Adım 8 :
NGROK kurulumu.
Ngrok'a gidin ve "ngrok http 5000" komutunu yazın, bu komutu çalıştırdıktan sonra linkleri alacaksınız.
Bu Ngrok bağlantılarından HTTPS bağlantısını kopyalayın ve tarayıcınıza yapıştırın. “Hoş Geldiniz!” yanıtını göreceksiniz. önceki adımla aynı.
Adım 9 :
Webhook kurun.
Şimdi telgraf botu için Webhook ayarlamamız gerecek..
Bağlantıyı tarayıcınızda çalıştırarak yapabilirsiniz.
Kod:
https://api.telegram.org/bot<Your Bot Token>/setWebhook?url=<URL that you got from Ngrok>
Bağlantıyı web tarayıcınızda çalıştırdıktan sonra, aşağıdaki resimde gösterilen yanıtı alacaksınız.
Adım 10 :
JSON yanıtı alın.
Artık bota yazacağımız herhangi bir metin için telegram botundan JSON yanıtını almamız gerekecek.
Şimdi VS Code'u açın ve aşağıdaki kodu ekleyin ve önceki kodu çalıştırdığınız aynı Ngrok bağlantısında çalıştırın.
Python:
from flask import Flask
from flask import request
from flask import Response
import requests[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]app = Flask(__name__)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
msg = request.get_json()
print(msg)
return Response('ok', status=200)
else:
return "<h1>Welcome!</h1>"[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]if __name__ == '__main__':
app.run(debug=True)
Telegram sohbet botunuz için belirteci aldığınız BotFather'da, URL'yi Telegram botunuza yönlendirmek için de dosyalayabilirsiniz.
Bundan sonra botla sohbeti başlatmak için Botu Başlat'a tıklayın. Ardından, "test botu" gibi istediğiniz herhangi bir mesajı veya istediğiniz herhangi bir şeyi yazın.
Botunuza “test bot” yazdıktan sonra şimdi Vscode'a gidin, aşağıdaki JSON'u terminalinizde dosyalayacaksınız.
Burada telegram botuna yazdığımız mesajı text olarak arka uçta alabildiğimizi görebiliriz.
Adım 11 :
metin mesajını bottan gönderin.
Kullanıcıdan “hi” mesajına cevap almak için kodu yazacağız ve “hi” dışında bir şey ima edilirse “webhook'tan” ile cevap vereceğiz.
Python:
from flask import Flask
from flask import request
from flask import Response
import requests[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]TOKEN = "<Your Bot Token>"
app = Flask(__name__)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]def parse_message(message):
print("message-->",message)
chat_id = message['message']['chat']['id']
txt = message['message']['text']
print("chat_id-->", chat_id)
print("txt-->", txt)
return chat_id,txt[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]def tel_send_message(chat_id, text):
url = f'https://api.telegram.org/bot{TOKEN}/sendMessage'
payload = {
'chat_id': chat_id,
'text': text
}
r = requests.post(url,json=payload)
return r[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
msg = request.get_json()
chat_id,txt = parse_message(msg)
if txt == "hi":
tel_send_message(chat_id,"Hello!!")
else:
tel_send_message(chat_id,'from webhook')
return Response('ok', status=200)
else:
return "<h1>Welcome!</h1>"[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(255, 255, 255)][SIZE=4][I]if __name__ == '__main__':
app.run(debug=True)
Telegram Botunda aşağıdaki yanıtı alacağız.
Adım 12 :
Görüntüyü Alın.
Artık görüntüyü telegram botundan da alabiliriz.
Python:
from flask import Flask
from flask import request
from flask import Response
import requests
TOKEN = "<Your Bot Token>"[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I]app = Flask(__name__)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I]def tel_parse_message(message):
print("message-->",message)
try:
chat_id = message['message']['chat']['id']
txt = message['message']['text']
print("chat_id-->", chat_id)
print("txt-->", txt)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I] return chat_id,txt
except:
print("NO text found-->>")[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I]def tel_send_message(chat_id, text):
url = f'https://api.telegram.org/bot{TOKEN}/sendMessage'
payload = {
'chat_id': chat_id,
'text': text
}
r = requests.post(url,json=payload)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I] return r[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I]def tel_send_image(chat_id):
url = f'https://api.telegram.org/bot{TOKEN}/sendPhoto'
payload = {
'chat_id': chat_id,
'photo': "https://raw.githubusercontent.com/fbsamples/original-coast-clothing/main/public/styles/male-work.jpg",
'caption': "This is a sample image"
}[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I] r = requests.post(url, json=payload)
return r[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I]@ app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
msg = request.get_json()
try:
chat_id, txt = tel_parse_message(msg)
if txt == "hi":
tel_send_message(chat_id,"Hello, world!")
elif txt == "image":
tel_send_image(chat_id)[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I] else:
tel_send_message(chat_id, 'from webhook')
except:
print("from index-->")[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I] return Response('ok', status=200)
else:
return "<h1>Welcome!</h1>"[/I][/SIZE][/COLOR][/I][/B]
[B][I][COLOR=rgb(239, 239, 239)][SIZE=4][I]if __name__ == '__main__':
app.run(threaded=True)
İşte telgraftan alacağınız cevap.
Şimdilik Bu kadar Arkadaşlar İsterseniz Daha fazla araştırarak devamını getirmeye çalışırım..
OKUDUĞUNUZ İÇİN TEŞEKKÜRLER..
Araştırma Kaynakları : GeeksforGeeks | A computer science portal for geeks
Towards Data Science
Python Programming Blog