我能够使用以下代码使该机器人直接向具有特定角色的任何人发送消息:
@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):无法向此发送消息 用户”
*请注意,此处显示的代码段之外定义了各种导入和变量。
任何关于我要去哪里的指针将不胜感激。
答案 0 :(得分:0)
因此,我发现只需捕获并传递异常即可解决该错误。感谢你的帮助。