运行Python开发的Discord Selfbot时send()收到意外关键字参数如何解决
报错原因
discord.py中User.send()方法不存在名为message的关键字参数,待发送内容直接作为第一个位置参数传入即可- 你定义的
dmall命令没有设置参数接收执行指令时附带的消息内容,无法获取你输入的(message)部分的文本 - 你原代码中传入的
ctx.message是完整的消息实例对象,不是纯文本内容,即便参数名正确也无法正常发送
修复后代码
@knife.command() # 给服务器所有成员发送私信 async def dmall(ctx, *, send_content: str): for user in ctx.guild.members: # 跳过自己,不用给自己发消息 if user.id == ctx.bot.user.id: continue try: await user.send(send_content) # 捕获用户拒收私信、无权限等异常,避免遍历中途中断 except Exception: continue
风险提示
- 短时间内大量发送私信会触发Discord反垃圾检测,极高概率导致账号被临时或永久封禁
- Discord官方明确禁止使用Selfbot,相关操作违反服务条款,存在账号全平台封禁的风险
内容的提问来源于stack exchange,提问作者oliverhunt204
相关产品推荐
相关产品推荐

