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

如何从Telethon的NewMessage事件中仅提取所需的消息文本内容?

解决方案

你当前输出大量冗余信息的原因是直接打印了整个NewMessage.Event对象,该对象包含了消息ID、发送时间、所属渠道、交互统计等全量元数据,你需要的纯文本内容是该对象下的子属性。

调整方法

仅修改事件回调函数内的打印逻辑即可,两种提取方式可以按需选择:

  • 如果你需要保留消息原本的格式标记(比如示例中的加粗**标记),直接调用event.text属性
  • 如果你需要完全去除格式,得到无任何标记的纯文本(比如仅拿到SNXUSDT,不带前后的**),调用event.raw_text属性

修改后的完整代码

from telethon import TelegramClient, events, sync
import config


api_id = '****'
api_hash = '****'


client = TelegramClient('session_read', api_id, api_hash)

@client.on(events.NewMessage)
async def my_event_handler(event):
    # 提取无格式纯文本用下面这行
    print(event.raw_text)
    # 如果需要保留格式标记就注释掉上一行,换成下面的代码
    # print(event.text)

client.start()
client.run_until_disconnected()

内容的提问来源于stack exchange,提问作者ycrrr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:54:02