(Discord.py)向所有服务器的所有成员发送dm或is

时间:2020-05-14 11:53:01

标签: discord discord.py

我开始开发了2天,我想在机器人的dm中创建一个命令“>

@bot.event
async def on_message(message):
    if message.content.startswith('><dmall'):

        name = message.content.split(" ")[1]

        if(name == "all"):
            for member in message.guild.members:
                try:
                    await member.send("test")
                except discord.Forbidden:
                    print("[DM]" + name + "à bloqué ses dm")
        else:
            member = discord.utils.get(message.guild.members, name=name)

1 个答案:

答案 0 :(得分:0)

注意:请不要滥用此权限,这是DISCORD'S TOS上的可警告罪行

# an alternative to putting your commands in an on_message event:
@bot.command()
async def dmall(ctx):
    for m in bot.get_all_members():
        await m.send("Hello! This is a DM :)")
    print("Done!")

# error handler
@bot.event
async def on_command_error(ctx, error):
    if isinstance(error, discord.ext.commands.errors.Forbidden):
        print(f"[DM] {ctx.author} has DMs disabled.")
    else:
        print(error)

参考: