1

最近,我正在研究一个用 python 编写的简单 Telegram 机器人(带有python-telegram-bot)。在这个机器人中,我可以使用以下命令获取最后一个消息对象:

bot.getUpdates()[-1].message

并且根据Telegram Doc,消息对象包含一些属性,例如message_id,from,date,chat,...,该from属性返回一个 User 对象,该对象是消息的发送者。但是因为from它是一个python 关键字(在导入时使用),所以我们不能使用它,它会引发 SyntaxError。

作为一种替代方法,我们可以使用chat属性,它在个人聊天中返回一个用户对象和一个GroupChat不包含的组中的对象以及有关用户的信息。此外,我找不到任何直接报告此错误的方法。

所以问题是有什么方法可以完成这项工作吗?或者任何替代解决方案?

4

1 回答 1

3

由于已明确您使用的是库,因此解决方案很简单。该库的作者将 Python 不兼容的属性重命名为. 所以就这样做:fromfrom_user

user = bot.getUpdates()[-1].from_user
于 2015-08-10T22:37:00.790 回答