最近我正在研究一个用python编写的简单Telegram机器人(使用python-telegram-bot
library)。在这个机器人中,我可以使用以下命令获取最后一个消息对象:
bot.getUpdates()[-1].message
并根据Telegram Doc消息对象包含一些属性,例如message_id,from,date,chat
,... from
属性返回一个User对象,该对象是消息的发送者。但由于from
是python keyword(在导入时使用),因此我们不能使用它来引发SyntaxError。
作为替代方法,我们可以使用chat
属性来返回个人聊天中的User对象,以及它不包含的组中的GroupChat
对象以及有关用户的信息。我也是无法找到报告此错误的直接方式。
所以问题是有没有办法做这个工作?或任何替代解决方案?
答案 0 :(得分:3)
由于明确表示您正在使用python-telegram-bot库,因此解决方案很简单。库的作者renamed与from
的Python不兼容的from_user
属性。所以就这样做:
user = bot.getUpdates()[-1].from_user