Discord中能否用个人账户替代机器人调用discord.py发送用户私信?
是否可以用Discord个人账户替代机器人发送私信?
核心结论
不可以,且强烈不建议尝试该操作,这类行为违反Discord官方服务条款,会直接导致账号被封禁。
具体原因
- Discord官方服务条款明确禁止*自我机器人(self-bot)*行为,即任何通过API调用模拟个人账户完成自动化操作的行为,无论用途是发送私信还是其他操作,都属于违规范畴。
- 一旦平台检测到个人账户存在异常API自动化调用记录,会直接对账号执行永久封禁,不会提前发出警告。
- 目前稳定版的
discord.py库已经完全移除了个人账户登录的相关支持,仅支持通过官方机器人令牌完成身份校验,没有合法的途径用个人账户凭证登录调用接口。 - 即使你找到第三方非官方库、或是降级到
discord.py的早期版本实现了个人账户登录发私信的功能,本质仍属于违规操作,仍然存在极高的账号封禁风险。
合规实现方案
如果需要实现发私信的需求,必须走官方机器人的合法流程,你可以自行调整机器人配置降低存在感,无需担心功能受限:
- 前往Discord开发者平台创建机器人应用,获取专属的机器人令牌
- 为机器人开启成员读取、私信发送等对应权限,将机器人邀请到你和目标用户共有的服务器中,或是提前让目标用户和机器人发起过对话
- 调用
discord.py的官方接口即可完成私信发送,参考代码如下:
import discord from discord.ext import commands # 配置所需权限 intents = discord.Intents.default() intents.members = True bot = commands.Bot(command_prefix='!', intents=intents) @bot.event async def on_ready(): # 替换为目标用户的Discord ID target_user = await bot.fetch_user(123456789012345678) # 发送私信 await target_user.send("这里是你要发送的私信内容") # 发送完成后关闭机器人 await bot.close() # 替换为你自己的机器人令牌 bot.run("your_bot_token_here")
内容的提问来源于stack exchange,提问作者Ramish Siddique
相关产品推荐
相关产品推荐

