OpenClawSkills
GitHub
通道 • 5 分钟阅读

通道位置解析

入站位置解析(Telegram + WhatsApp + Matrix)与上下文字段

OpenClaw 会把聊天通道里分享的位置(location)归一化为:

- 追加到入站正文末尾的一段易读文本,以及

- 自动回复上下文 payload 中的结构化字段。

目前支持:

- Telegram(位置标记 + 场所/POI + 实时位置)

- WhatsApp(locationMessage + liveLocationMessage)

- Matrix(m.location,使用 geo_uri)

Tutorial.step

文本格式

位置会被渲染为便于阅读的行文本(不使用方括号):

- 位置标记:

- 📍 48.858844, 2.294351 ±12m

- 命名地点:

- 📍 Eiffel Tower — Champ de Mars, Paris (48.858844, 2.294351 ±12m)

- 实时分享:

- 🛰 Live location: 48.858844, 2.294351 ±12m

如果通道同时携带了 caption/comment,会追加到下一行:

Terminal
📍 48.858844, 2.294351 ±12m
Meet here
Tutorial.step

上下文字段

当消息包含位置时,会在 ctx 中加入:

- LocationLat(number)

- LocationLon(number)

- LocationAccuracy(number,单位米;可选)

- LocationName(string;可选)

- LocationAddress(string;可选)

- LocationSource(pin | place | live)

- LocationIsLive(boolean)

Tutorial.step

通道说明

- Telegram:场所(venue)会映射到 LocationName/LocationAddress;实时位置使用 live_period。

- WhatsApp:locationMessage.comment 与 liveLocationMessage.caption 会作为 caption 行追加。

- Matrix:geo_uri 会按"位置标记(pin)"解析;海拔会被忽略;LocationIsLive 始终为 false。