【发布时间】:2021-10-22 08:25:47
【问题描述】:
如果您通过 Telegram 中的内联使用机器人,机器人可以请求用户的位置,如果在机器人设置中启用了此功能。 telethon.events.inlinequery.InlineQuery 类负责获取地理位置。
这是我尝试获取地理位置以便将来使用纬度和经度的伪代码:
from telethon import TelegramClient, events
@client.on(events.InlineQuery)
async def handler(event):
location = event.geo
builder = event.builder
await event.answer([
builder.article("Coordinates: ", text="Long: " + location.long + "\nLat: " + location.lat),
])
但我什么都做不了。不断输出AttributeError: 'NoneType' object has no attribute 'lat'。
如果您能帮助我获取和使用这些数据,我将不胜感激。
【问题讨论】:
-
这是一个错误。我已经打开github.com/LonamiWebs/Telethon/issues/3136 来跟踪这个问题。
-
@Lonami 谢谢!我将等待修复此错误,因为我确实需要获取地理位置。其实我的bot整个工作都是基于这个的。
-
这段代码是必须只使用telethon库执行还是你也使用其他库?
-
@NematilloOchilov 这一切都只适用于电视节目。获取地理位置嵌入在电报 api 本身中,但由于某种原因,telethon 只是执行返回,如果您查看上面来自 Lonami 的链接。据我了解,我只需要等待修复此错误即可。
-
在 pyrogram 或 pytelegrambotapi 库中,我可以快速创建您所要求的内容
标签: python python-3.x telegram telethon telegram-api