Python kullanarak sıfırdan bir Telgraf botu oluşturmaya çalışıyorum. Tüm ilk adımları tamamladım ve bot jetonu aldım ve şimdi ne yapmak istediğim, bana gönderdiği verinin kolay manipülasyonu için ('u getupdates
yönteminden alıyorum gibi) veriyi düzgün bir şekilde düzenlemek istiyorum bir python sözlüğüne. Telegram bot güncellemeleri python dict dönüşümü
Ben /getme
deneyin
b'{"ok":true,"result":{"id":999999999,"first_name":"telebotsrock","username":"sample_bot"}}'
yaptığımda sonunda başında
b'
ve
'
bir hata neden olduğundan
json.loads(data)
(veri bir dizeye dönüştürülür Yukarıda verilen şey olduğu yerlerde).
yüzden sadece iyi
b'
ve
'
ve
json.loads()
eser çıkarmak için
data[2:-1]
, ama ben
/getme
/getupdates
için değiştirdiğinizde, yeni hataların bir demet açılır.
Sonuç olarak, bu bir karmaşadır. Birisi bana bottan veri almak ve bir python sözlüğüne yazmak için temiz bir yol verebilir mi? Lütfen bana farklı bir dil kullanmamayı veya mevcut bir bot çerçevesini kopyalamama söyleme.
Benim geçerli kod:
from urllib.request import urlopen
import json
token="999999999:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
site="https://api.telegram.org/bot"+token
content=str(urlopen(site+"/getme").read())
#content=str(urlopen(site+"/getupdates").read())
data=content[2:-1]
print(data)
info=json.loads(data)
print(info)
Bu kodu doğru bir piton sözlüğe /getme
çıktısını coverts, ama bunun yerine /getupdates
çalışırken hata iletisi verir. /getupdates
ait
Çıktı ben öyle dilim önce: Bu sizin için çalışması gerektiğini
b'{"ok":true,"result":[{"update_id":66666666,\n"message":{"message_id":1,"from":{"id":777777777,"first_name":"Aswin","last_name":"G","username":"MatrixHunter"},"chat":{"id":777777777,"first_name":"Aswin","last_name":"G","username":"MatrixHunter","type":"private"},"date":1459932293,"text":"\\/start"}},{"update_id":88888888,\n"message":{"message_id":2,"from":{"id":777777777,"first_name":"Aswin","last_name":"G","username":"MatrixHunter"},"chat":{"id":777777777,"first_name":"Aswin","last_name":"G","username":"MatrixHunter","type":"private"},"date":1459932298,"text":"Oy"}}]}'
Teşekkürler! İşe yaradı –