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

如何判断Pyrogram中接收的消息是否为静音发送?

获取Pyrogram中消息的静音发送状态

Pyrogram的高层API没有直接提供判断消息是否静音发送的属性,但可以通过访问消息的原始TL对象来获取这个状态,具体步骤如下:

  • 访问消息的raw属性:每个Pyrogram的Message实例都携带raw属性,对应Telegram原生API的message构造器对象。
  • 检查flags中的静音标记:原生message对象的flags字段里,第13位(对应数值1 << 12)代表静音发送状态,若该位为1,则消息是静音发送的。

代码示例

from pyrogram import Client, filters

app = Client("your_account_session")

@app.on_message(filters.all)
async def detect_silent_msg(client, message):
    # 获取原始Telegram消息对象
    raw_message = message.raw
    # 判断静音状态
    is_silent = bool(raw_message.flags & (1 << 12))
    print(f"该消息为静音发送: {is_silent}")

app.run()

注意:静音发送的标记属于普通message构造器的flags,而非messageService(服务消息构造器),之前的查阅方向可能存在偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 00:07:07