You need to enable JavaScript to run this app. 如何让Discord机器人发送随机DM 对应代码错误排查
优惠活动
大模型
产品
解决方案
定价
更多

如何让Discord机器人发送随机DM 对应代码错误排查

错误排查及修复方案

现有问题列表

  • 随机消息列表语法错误:第三个字符串末尾缺失逗号,导致第三、第四个字符串被自动拼接为单个字符串,打乱随机抽取逻辑
  • 私信发送逻辑完全错误:client对象本身不存在message属性,调用client.message.author.send会直接抛出属性不存在的异常,且方法传参逻辑完全混乱,不需要传入ctx.message.author.send作为参数
  • 冗余参数:discord.py v1.0+版本中命令默认自动传递上下文,pass_context=True属于过时冗余参数,可直接删除
  • 冗余代码:最上方重复实例化了discord.Client(),后续直接被commands.Bot实例覆盖,属于无效代码可删除

修复后的meowzdm命令代码

@client.command()
async def meowzdm(ctx):
    variable = [
        "Hi im a bot and i wish you a good day!",
        "Hi, my name is Meowzbot and i hope you sleep well tonight!",
        "Hello, thanks for using this command, now i can tell you that you are a great human!",
        "did you know: a person who uses this command is a very kind person!"]
    await ctx.author.send(random.choice(variable))

额外注意事项

如果修复后仍收不到私信,检查两个配置即可:

  • 机器人账号是否被允许发送私信,对应权限在Discord开发者后台配置
  • 触发命令的用户是否开启了「允许服务器成员发送私信」的设置

内容的提问来源于stack exchange,提问作者The Lil Meowz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 03:24:04