2016-08-19 1 views
1

Ich habe eine Python Google App Engine-Anwendung, die eingehende Nachricht von Telegram Bot über Webhook erhalten. Ich verwende Cloud Endpoint, um eine Anfrage zu erhalten. Daher verwende ich den Google Protokoll-RPC, um die Anfrage und die Antwort zu verwalten.Empfangen von Nachrichten von Telegram Bot zu Google App Engine über Cloud-Endpunkt

Das eingehende Json-Update von Telegram, das die Nachricht enthält, hat ein Feld mit dem Namen from. Das Problem ist, dass, wenn ich die RPC-Klasse schreiben, die Nachricht verarbeiten ich nicht den Namen, weil from für die Variable verwenden kann, ein reserviertes Schlüsselwort ist:

class TelegramMessage(messages.Message): 
    message_id = messages.IntegerField(1, required = True) 
    from = messages.MessageField(User, 2) 

Ich kann nicht den Namen der Variablen ändern, weil ansonsten geht das Feld aus dem eingehenden JSON verloren und ich empfange diese Warnung in der Konsole: Keine Variante gefunden für unerkanntes Feld: aus.

Wie kann ich es lösen?

Antwort

1

Ich würde vorschlagen, eine Python-Bibliothek wie python-telegram-bot zu verwenden. Der Autor der Bibliothek renamed das Python-inkompatible from Attribut zu from_user. Also einfach:

user = bot.getUpdates()[-1].from_user 
Verwandte Themen