首页
/ TDL项目中的消息过滤功能详解

TDL项目中的消息过滤功能详解

2025-06-08 01:29:42作者:姚月梅Lane

消息过滤功能概述

TDL项目提供了强大的消息过滤功能,主要应用在chat lschat export两个命令中。这两个命令虽然都支持-f过滤选项,但支持的过滤字段有所不同,这是用户需要注意的关键区别。

消息导出过滤字段

chat export命令中,当前版本(0.17.7)支持以下过滤字段:

  • 基本消息属性

    • Mentioned: 布尔值,表示我们是否在此消息中被提及
    • Silent: 布尔值,表示是否为静默消息(不触发通知)
    • FromScheduled: 布尔值,表示是否为定时发送的消息
    • Pinned: 布尔值,表示消息是否被置顶
  • 消息标识信息

    • ID: 整型,消息的唯一ID
    • FromID: 64位整型,消息发送者的ID
    • Date: 整型,消息的日期时间戳
  • 内容相关字段

    • Message: 字符串,消息文本内容
    • Views: 整型,消息的查看次数
    • Forwards: 整型,消息的转发次数
  • 媒体文件属性

    • Media.Name: 字符串,文件名
    • Media.Size: 64位整型,文件大小(字节)
    • Media.DC: 整型,数据中心ID

常见使用场景

  1. 按消息ID范围导出: 虽然可以使用ID>1234这样的过滤表达式,但更推荐使用专门的-T-i参数组合:

    tdl chat export -c CHAT -T id -i 1234,9999999
    

    这种方式效率更高,专门为按ID范围导出优化。

  2. 过滤特定类型消息

    tdl chat export -c CHAT -f "Pinned==true"
    

    可以导出所有置顶消息。

  3. 组合条件过滤

    tdl chat export -c CHAT -f "FromID==12345 && Views>100"
    

    导出特定用户发送且查看次数超过100的消息。

注意事项

  1. 网络设置: 当使用-f -查看可用字段时,如果命令无响应,可能是因为需要配置网络连接才能正常获取字段信息。

  2. 性能考虑: 对于大型消息记录,复杂的过滤条件可能会导致处理时间较长。在这种情况下,考虑先导出完整数据再进行本地过滤可能更高效。

  3. 字段差异chat lschat export命令支持的过滤字段不同,不要混淆使用。chat ls支持如TypeVisibleName等聊天列表特有的字段。

通过合理使用这些过滤功能,用户可以精确控制导出的消息内容,提高数据处理的效率和针对性。

登录后查看全文
热门项目推荐
相关项目推荐