如何仅在discord.py中具有特定角色的DM用户?

时间:2020-08-27 04:45:16

标签: python discord discord.py

我希望机器人将dm分配给具有特定角色的成员,所以我尝试了这一点,

@bot.command(pass_context=True)
async def message_role(ctx, role: discord.Role, *, message):
    for member in ctx.message.server.members:
        if role in member.roles:
            await member.send(member, message)

它实际上不起作用,我也不希望我的漫游器被标记为垃圾邮件,因此我想要检查或采取其他措施,以便该漫游器仅在角色具有25个成员或25个以下成员时才会dm。如果角色有25个以上的用户,则应返回并说类似“不能给这么多的用户dm”。 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以检查role.members

的长度
@bot.command()
async def message_role(ctx, role: discord.Role, *, message):
    if not len(role.members) <= 25:
        return await ctx.send("Can't dm this much users")
    for i in role.members:
        await i.send(message)