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

如何使用Python实现仅监听Discord指定频道、忽略其他频道消息

Discord 单频道实时消息监听实现方案
  • 前置准备
    1. 开启Discord客户端的开发者模式,右键目标频道b1选择「复制ID」,记录该数值
    2. 进入Discord开发者平台对应的Bot管理页,开启Message Content Intent权限,否则无法正常获取消息内容
    3. 确认Bot已被邀请到频道b1所属的服务器,且拥有查看频道、读取消息的权限
  • 修正后的可运行代码:
import discord

# discord.py v2.0 及以上版本必须配置意图
intents = discord.Intents.default()
intents.message_content = True

client = discord.Client(intents=intents)
# 替换为你刚才复制的频道b1的数字ID
TARGET_CHANNEL_ID = 替换为实际频道ID

@client.event
async def on_message(message):
    # 过滤Bot自身发送的消息,不需要可删除该行
    if message.author == client.user:
        return
    # 仅处理目标频道的消息
    if message.channel.id == TARGET_CHANNEL_ID:
        # 此处可自定义消息处理逻辑,以下为打印示例
        print(f"发送者:{message.author.name} | 消息内容:{message.content}")

# 替换为你的Bot Token
client.run("你的Bot Token")
  • 注意事项
    • 频道ID为数字类型,不要用引号包裹,否则类型不匹配会导致判断失效
    • 如果使用discord.py v1.x版本,可删除代码中intents相关的配置,但建议升级到最新稳定版避免API兼容问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:21:03