Ich versuche, einen Telegramm-Bot von Grund auf mit Python zu erstellen. Ich habe alle ersten Schritte gemacht und den Bot-Token bekommen, und nun möchte ich die Daten einfach manipulieren (wie ich die first_name
der Person von getupdates
Methode bekomme) Ich möchte die Daten übersichtlich geordnet haben in ein Python-Wörterbuch.Telegram Bot-Updates zu Python-Dict-Konvertierung
Wenn ich versuche, /getme
, bekomme ich diese: b'{"ok":true,"result":{"id":999999999,"first_name":"telebotsrock","username":"sample_bot"}}'
Da die b'
am Anfang und '
am Ende einen Fehler verursacht, wenn ich json.loads(data)
(Wo Daten sind die Sache in einen String oben umgewandelt gegeben).
So mache ich data[2:-1]
die b'
und '
und json.loads()
funktioniert gut, zu entfernen, aber wenn ich die /getme
-/getupdates
ändern, Pop eine Menge neuer Fehler auf.
Alles in allem ist es ein Durcheinander. Kann mir jemand einen sauberen Weg geben, um Daten vom Bot zu bekommen und in ein Python-Wörterbuch zu sortieren? Bitte sagen Sie mir nicht, eine andere Sprache zu verwenden oder kopieren Sie einfach ein bestehendes Bot-Framework.
Mein aktueller Code:
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)
Dieser Code korrekt coverts die Ausgabe von /getme
zu einem Python-Wörterbuch, aber Fehler gibt, wenn ich /getupdates
stattdessen versuchen.
Ausgabe von /getupdates
bevor ich schneiden es ist:
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"}}]}'
Vielen Dank! Das hat funktioniert –