Discord.py:禁忌403,无法向用户发送消息-我如何让我的机器人迭代和dm所有成员在我的服务器?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (172)

我可以让机器人使用以下代码向具有特定角色的任何人发送消息:

@bot.command(pass_context=True)
@commands.has_any_role(roleCheck)
async def dmrole(ctx, role: discord.Role, *, message):
    for member in ctx.message.server.members:
        if role in member.roles:
            await bot.send_message(member, message)

但是,当我试图使bot dm所有用户都在我的服务器上时,只会收到一条消息。这是我使用的代码:

@bot.command(pass_context=True)
@commands.has_any_role(roleCheck)
async def dmall(ctx,*, message):
    for member in ctx.message.server.members:
        await bot.send_message(member, message)

在检查输出窗口时,我得到以下错误:

“禁止:禁止”(状态代码:403):无法向此用户发送消息*请注意,在这里显示的代码片段之外定义了各种导入和变量。

我哪里出错了?

提问于
用户回答回答于

我发现只需捕获和传递异常就可以修复错误。

所属标签

可能回答问题的人

  • Hanzo

    6 粉丝0 提问3 回答
  • Richel

    9 粉丝0 提问3 回答
  • 不吃貓的鱼oo

    7 粉丝466 提问2 回答
  • 御姐万岁

    6 粉丝507 提问2 回答

扫码关注云+社区

领取腾讯云代金券