You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python查询Telegram导出JSON消息数据:指定文本与消息ID查询代码失效求助

Python查询Telegram导出JSON消息数据:指定文本与消息ID查询代码失效求助

嗨,我来帮你排查下代码失效的问题~你的代码没跑起来,大概率是因为对Telegram导出的JSON结构理解错了。

Telegram导出的result.json根本不是你假设的「以reply_to_message_id为键、消息文本为值」的字典结构,它的标准格式是包含一个messages数组,每个数组元素是完整的消息对象,里面会有id(消息自身ID)、text(消息内容)、reply_to_message_id(回复的目标消息ID)这些字段。

而且还有个小坑:部分带格式的消息(比如加粗、带链接的内容),text字段会是一个列表,而不是纯字符串,直接用in判断会出错,得先把它转成字符串才行。

下面给你修正后的代码,分别实现「查找含特定文本的消息」和「通过ID查找消息」的功能:

1. 查找包含特定文本的消息

import json

# 加载Telegram导出的JSON文件
with open('result.json', encoding="utf8") as f:
    data = json.load(f)

# 取出消息列表(Telegram导出的标准结构里,消息都存在messages字段下)
messages = data.get('messages', [])

# 你要查找的目标文本
target_text = 'sometext'

for msg in messages:
    # 处理可能为列表的text字段
    msg_content = msg.get('text', '')
    if isinstance(msg_content, list):
        # 把列表里的内容拼接成纯字符串(兼容带格式的消息)
        msg_content = ''.join(
            [item.get('text', item) if isinstance(item, dict) else item 
             for item in msg_content]
        )
    
    # 判断文本是否匹配
    if target_text in msg_content:
        print(f"找到匹配消息👇")
        print(f"消息ID:{msg.get('id')}")
        print(f"消息内容:{msg_content}")
        print(f"回复的消息ID:{msg.get('reply_to_message_id', '无')}")
        print("---")

2. 通过消息ID查找消息

import json

with open('result.json', encoding="utf8") as f:
    data = json.load(f)

messages = data.get('messages', [])

# 你要查找的目标消息ID
target_msg_id = 12345  # 替换成实际ID

for msg in messages:
    if msg.get('id') == target_msg_id:
        # 同样处理可能为列表的text字段
        msg_content = msg.get('text', '')
        if isinstance(msg_content, list):
            msg_content = ''.join(
                [item.get('text', item) if isinstance(item, dict) else item 
                 for item in msg_content]
            )
        print(f"找到ID为{target_msg_id}的消息👇")
        print(f"内容:{msg_content}")
        break
else:
    print(f"未找到ID为{target_msg_id}的消息")

你可以把代码里的target_text和target_msg_id替换成你实际要找的内容,应该就能正常工作啦~

备注:内容来源于stack exchange,提问作者Alexander Bo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:58:12