mcpField
S
search-messages

search-messages

github.com/terrylica生产力171 次安装今天更新
代码仓库

关于 search-messages

用于跨 Telegram 聊天或在指定聊天中搜索消息的技能,面向需要按文本、聊天或发送者筛选消息的人。支持完整消息内容、预览截断和结果数量限制。

主要功能

  1. 01全局或指定聊天搜索
  2. 02按发送者筛选
  3. 03限制结果数量
  4. 04设置消息预览长度
  5. 05输出完整消息正文

适用场景

  1. 01查找所有聊天中的特定文本
  2. 02检索某位发送者的消息
  3. 03扫描大量结果并使用预览

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/terrylica/cc-skills --skill search-messages

安装后在 Claude Code 中输入/search-messages确认已加载。

详细介绍

搜索 Telegram 消息

在所有聊天中全局搜索消息,或在指定聊天中搜索。

自我演进技能:此技能会在使用过程中不断改进。如果说明有误、参数发生变化,或需要采用变通方法,请立即修复此文件,不要拖延。仅针对真实且可复现的问题进行更新。

前置检查

  1. 会话必须存在:~/.local/share/gramjs/<profile>.session
    • 如果缺失,请先运行 /tlg:setup

用法

/usr/bin/env bash << 'EOF'
ROOT="$(cc-plugin-root tlg)"
SCRIPT="$ROOT/scripts/tg-cli.ts"

# Global search (all chats)
bun "$SCRIPT" search "search term" -n 20

# Search in specific chat
bun "$SCRIPT" search "keyword" --chat 2124832490

# Filter by sender
bun "$SCRIPT" search "topic" --from @username

# Combined: search in chat from specific sender
bun "$SCRIPT" search "query" --chat @groupname --from @sender -n 10
EOF

参数

参数类型描述
querystring搜索文本(必填)
--chatstring/int限定在指定聊天中搜索(省略则进行全局搜索)
--fromstring/int按发送者筛选
-n/--limitint最大结果数(默认值:20)
--previewint将每条消息正文截断至 N 个字符(默认值:完整文本,缩进的多行格式)。

输出格式

默认(完整文本,缩进的多行格式):

[YYYY-MM-DD HH:MM] [Chat Name] (id:12345) Sender: First line of body
    continuation line 1 (indented under header)
    continuation line 2

使用 --preview 100:

[YYYY-MM-DD HH:MM] [Chat Name] (id:12345) Sender: First line of body ⏎ continuation collapsed onto…

仅在需要高流量扫描、且希望每条消息占一行时使用 --preview N。默认值 = 完整文本——较长正文不再被静默截断至 150 个字符(此前的默认值会迫使用户在内容确实重要时手动变通)。

反模式

  • 洪泛风险:使用常见词进行全局搜索可能触发速率限制(每 10 个请求需等待约 30 秒)
  • 结果为空:全局搜索要求查询字符串非空

执行后反思

此技能执行完毕后,请在结束前检查:

  1. 命令是否成功? — 如果没有,请修复导致失败的说明或错误表。
  2. 参数或输出是否发生变化? — 如果 tg-cli.ts 的接口发生变化,请相应更新用法示例和参数表。
  3. 是否需要采用变通方法? — 如果你不得不临时采用其他方式(不同的标志、额外步骤),请更新此 SKILL.md,避免下次调用时再次需要同样的变通方法。

仅当问题真实且可复现时才进行更新,不要基于猜测更新。

评论

支持 Markdown