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

如何使用C#读取Discord聊天发送的消息(无需使用Discord机器人)

以下方案仅作技术原理科普,Discord官方服务条款明确禁止对普通用户账号使用任何自动化访问工具,违规操作可能导致账号被永久封禁,请自行评估风险后再尝试

实现方案

方案1:第三方非官方用户API库调用

生态中存在从官方机器人SDK分叉而来、适配普通用户账号权限的第三方库,可以直接调用Discord的非公开用户端API实现消息监听,以Python环境的discord.py-self为例:

  • 安装依赖:pip install discord.py-self
  • 最小实现示例:
import discord

class MsgListener(discord.Client):
    async def on_ready(self):
        print(f"账号登录成功:{self.user}")

    async def on_message(self, message):
        # 跳过自身发送的消息
        if message.author == self.user:
            return
        # 输出消息详情:来源服务器/私聊、发送人、消息内容
        source = message.guild.name if message.guild else "私聊会话"
        print(f"[{source}] {message.author.display_name}:{message.content}")

# 开启所有权限监听,填入你自己的Discord账号令牌即可运行
client = MsgListener(intents=discord.Intents.all())
client.run("YOUR_DISCORD_ACCOUNT_TOKEN")

注意:账号令牌等同于账号凭证,可以通过Discord网页端开发者工具的网络请求字段提取,请务必妥善保管,泄露会直接导致账号被盗。

方案2:本地客户端数据抓取

不需要调用API,基于本地运行的官方Discord客户端做数据提取,相对更难被官方检测到:

  • UI自动化识别:使用UI自动化工具(如Python的pywinauto、跨平台的SikuliX)定时抓取Discord客户端窗口的聊天区域内容,配合文字识别提取新消息,适合需求简单的场景
  • 本地流量抓包:对Discord客户端的本地网络流量进行过滤解密,直接提取收到的消息数据包,不需要操作界面,识别准确率更高,但实现复杂度也更高
额外注意事项
  • 所有对普通账号的自动化操作都不在Discord官方允许范围内,官方有完善的异常行为检测机制,长期使用大概率会触发封禁
  • 第三方非官方SDK没有安全背书,存在窃取账号令牌的风险,使用前建议自行审计源代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:03:00