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

如何通过Token登录Discord账号并在所有频道发送消息?

如何用Python通过Token登录Discord普通账号并群发消息?

重要警告

强烈不建议实施此操作:Discord服务条款明确禁止使用自动化工具登录普通用户账号(非机器人账号)进行批量操作,一旦被平台检测到,你的账号会被永久封禁,甚至可能触发相关法律责任。以下内容仅为技术原理演示,请勿用于实际场景。

技术实现思路(仅作演示)

官方discord.py库仅支持机器人账号登录,若要操作普通用户账号,需使用专门适配用户账号的分支库discord.py-self——该库绕开了Discord的机器人账号验证机制。

步骤1:安装依赖

pip install discord.py-self

步骤2:编写代码示例

import discord

# 替换为你的普通账号Token
USER_TOKEN = "你的账号Token"

# 初始化客户端,开启所有权限意图
client = discord.Client(intents=discord.Intents.all())

@client.event
async def on_ready():
    print(f"已登录账号:{client.user}")
    # 遍历所有加入的服务器
    for guild in client.guilds:
        print(f"正在处理服务器:{guild.name}")
        # 遍历服务器内的所有文本频道
        for channel in guild.text_channels:
            try:
                # 检查是否拥有发送消息的权限
                if channel.permissions_for(guild.me).send_messages:
                    await channel.send("测试消息(仅为技术演示)")
                    print(f"消息已发送至频道:{channel.name}")
                else:
                    print(f"无权限发送消息至频道:{channel.name}")
            except Exception as e:
                print(f"发送消息至频道 {channel.name} 失败:{str(e)}")
    # 完成后退出登录
    await client.close()

# 登录普通用户账号,bot=False标记为非机器人账号
client.run(USER_TOKEN, bot=False)

关键注意事项

  • 必须设置bot=False参数,否则会被Discord识别为机器人账号,无法用普通用户Token登录。
  • 需开启所有权限意图(Intents.all()),否则无法获取服务器及频道的完整列表。
  • 实际运行时会遇到大量权限限制(如部分频道只读、无发送权限),需补充更多异常处理逻辑。
  • 批量发送消息会触发Discord的反垃圾检测机制,账号几乎必然被封禁。

机器人账号与普通账号的核心区别

Discord为机器人账号提供了合法的API接口和权限管理体系,允许其进行自动化操作;而普通用户账号的自动化行为被严格禁止,这是平台为维护秩序、防范垃圾消息及账号盗用等风险制定的规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:01:27