Channel Location Parsing
Channel location parsing
OpenClaw 将聊天渠道中共享的位置标准化为:
- 附加到入站正文的可读文本,以及
- 自动回复上下文 payload 中的结构化字段。
当前支持:
- Telegram(位置标记 + 地点 + 实时位置)
- WhatsApp(locationMessage + liveLocationMessage)
- Matrix(
m.location带有geo_uri)
文本格式
位置被渲染为友好的行,不带括号:
- 标记:
📍 48.858844, 2.294351 ±12m
- 命名地点:
📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)
- 实时分享:
🛰 Live location: 48.858844, 2.294351 ±12m
如果渠道包含标题/评论,则附加在下一行:
📍 48.858844, 2.294351 ±12m
在这里见面
上下文字段
当存在位置时,这些字段会被添加到 ctx:
LocationLat(数字)LocationLon(数字)LocationAccuracy(数字,米;可选)LocationName(字符串;可选)LocationAddress(字符串;可选)LocationSource(pin | place | live)LocationIsLive(布尔值)
渠道说明
- Telegram:地点映射到
LocationName/LocationAddress;实时位置使用live_period。 - WhatsApp:
locationMessage.comment和liveLocationMessage.caption作为标题行附加。 - Matrix:
geo_uri被解析为标记位置;高度被忽略,LocationIsLive始终为 false。