我正嘗試使用python從頭開始創建電報機器人。我完成了所有的初始步驟並獲得了bot令牌,現在我想要做的就是輕鬆處理它發送給我的數據(例如從getupdates
方法中獲取first_name
的方法)我希望數據排列整齊成一個Python字典。電報機器人更新爲python字典轉換
當我嘗試/getme
,我得到這個: b'{"ok":true,"result":{"id":999999999,"first_name":"telebotsrock","username":"sample_bot"}}'
由於b'
在開始和'
末導致一個錯誤,當我做json.loads(data)
(數據高於轉換爲字符串給出的東西)。
所以我做data[2:-1]
刪除b'
和'
和json.loads()
作品就好了,但是當我改變/getme
到/getupdates
,一堆新的錯誤彈出。
總而言之,這是一團糟。有人可以給我一個乾淨的方式從機器人獲取數據並將其分類爲Python字典嗎?請不要告訴我使用不同的語言,或只複製現有的bot框架。
我當前的代碼:
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)
此代碼正確覆羽/getme
輸出到一個Python字典,但給人錯誤,當我嘗試/getupdates
代替。
的/getupdates
輸出之前我分析它是:
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"}}]}'
謝謝!這工作 –