如何解决如果发送的消息是与 TELETHON 电报中的位置共享消息,我可以获取位置的经度和纬度吗
我正在抓取电报,我可以在聊天中使用 client.iter_messages 获取每个消息实例,但如果消息实例是位置共享消息,我想获取位置的纬度和经度。
WITH data AS (
SELECT a.*,CAST(ST_DistanceSpheroid(geometry(location),st_geomfromtext('POINT(' || $7::decimal || ' ' || $8::decimal || ')',4326))as numeric) / 1000 AS distance
FROM agent AS a
WHERE (a.agent_code ILIKE $1
OR a.name ILIKE $1
OR a.phone LIKE $1)
AND
a.sub_district_name LIKE ANY(string_to_array($4,','))
AND
a.agent_status_id LIKE ANY(string_to_array($5,'))
AND CASE WHEN $6 = 'FAVORITE' THEN
a.is_subscription = true
WHEN $6 = 'REGULER' THEN
a.is_subscription != true
ELSE
a.location LIKE '%%'
END
ORDER BY distance ASC
),data_counter AS (
SELECT COUNT(agent_id) AS __total__
FROM data
)
SELECT *
FROM data,data_counter
LIMIT $2
OFFSET $3
`
如果有一点帮助,我们将不胜感激, 谢谢。
解决方法
仅当消息是位置共享消息 (message.geo
) 时才执行,否则不需要
location = message.geo #returns a GeoPoint class if the message is a location share message else returns None
if location is not None:
longitude = location.long
latitude = location.lat
print(longitude,latitude)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。