通过Cloud Endpoint从{Telegram Bot接收消息到Google App Engine

时间:2016-08-19 11:56:24

标签: python google-app-engine telegram-bot

我有一个python Google App Engine应用程序,通过webhook接收来自Telegram Bot的传入消息。我使用Cloud Endpoint接收请求,因此我使用Google Protocol RPC来管理请求和响应。

来自Telegram的包含该消息的json传入更新包含一个名为 from 的字段。问题是当我编写RPC类来处理消息时,我不能使用名称 from 作为变量,因为它是一个保留关键字:

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

我无法更改变量的名称,否则来自传入json的 from 字段会丢失,我会在控制台中发出此警告:找不到未识别的变体field:from。

我该如何解决?

1 个答案:

答案 0 :(得分:1)

我建议使用像python-telegram-bot这样的python库。库的作者renamed与from_user的Python不兼容from属性。所以就这样做:

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