SuperAPI AI 工具集

list-telegram-chats

办公与效率

查看项目

更新于 10-22 16:15

技能介绍

用途

list-telegram-chats 用于列出曾与本智能体交互过的 Telegram 群组和私聊,便于查看消息来源、确认可用的聊天目标。

主要能力

  • 从本地会话状态中检索去重的 Telegram chat ID。
  • 按类型分类输出:群组为负 ID,私聊为正 ID。
  • 输出 JSON,包含 chat_id、name、type 字段。
  • 当机器人已无法访问某个聊天时,name 为 null。
  • 仅对来自 nanobot 会话的记录提供 last_updated 字段。

使用方式

python3 "$SKILL_DIR/scripts/list_chats.py"
# 跳过名称解析(无需 bot token,速度更快):
python3 "$SKILL_DIR/scripts/list_chats.py" --no-names

$SKILL_DIR 表示该技能安装目录;若智能体未自动设置,需替换为 list-telegram-chats 目录的实际路径后再运行。

输出示例:

{
  "groups": [{"chat_id": -1001234567890, "name": "My Group", "type": "supergroup", "last_updated": "2024-01-15T10:30:00Z"}],
  "private_chats": [{"chat_id": 502391728, "name": "Alice Smith", "type": "private"}]
}

前置条件

会话来源按以下顺序检查:

  1. Nanobot:~/.nanobot/workspace/sessions/telegram_*.jsonl,可通过 NANOBOT_SESSIONS_DIR 或 NANOBOT_WORKSPACE 配置。
  2. OpenClaw:OPENCLAW_STATE_DIR/agents/main/sessions/sessions.json,默认为 /twin-data/state。
  3. YouAI 后端:YOUAI_API_URL 与 YOUAI_TWIN_ID,在无本地会话时作为回退。

名称解析所需 bot token 按以下顺序尝试:

  1. TELEGRAM_BOT_TOKEN 环境变量。
  2. ~/.nanobot/config.json 中的 channels.telegram.token,可通过 NANOBOT_CONFIG 覆盖路径。

未提供 token 时,所有条目的 name 均被省略。

适用场景

需要查看谁给智能体发过消息、列出活跃会话,或为 telegram-send 等后续发送操作确定目标聊天时使用。

限制

  • 依赖本地会话状态或 YouAI 后端配置;相关文件或环境变量缺失时可能无法获取数据。
  • 未提供 bot token 时无法解析聊天名称。
  • last_updated 仅对 nanobot 来源的聊天可用。