discord.py |如何向我的机器人所在的每个帮会的所有者发送消息

2024-04-26 09:16:03 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想问,有没有一种方法可以让我发出命令,比如当我调用它时,机器人会向我的机器人所在的每个帮会的所有者发送一个dm,其中包含我的消息,或者它可以将该消息发送到它所在的每个帮会的员工专用频道。我可以用这个命令发布公告之类的东西


Tags: 方法命令消息员工机器人dm频道专用
1条回答
网友
1楼 · 发布于 2024-04-26 09:16:03

要直接向成员发送消息,需要获取member对象的dm_channel。您可以通过使用member.dm_channel来实现这一点。只需使用guild.owner作为member并使用dm通道发送消息。
您应该启用discord.Intents.guilddiscord.Intents.members,以便bot获得guild.owner


@client.command() 
@commands.is_owner() 
async def broadcast(ctx, message):     
    for guild in client.guilds:
        # get the owner of guild
        owner = guild.owner

        # check if dm exists, if not create it
        if owner.dm_channel is None:
            await owner.create_dm()
      
        # if creation of dm successful
        if owner.dm_channel != None:
            await owner.dm_channel.send(message)
   
        for channel in guild.channels:             
            if(channel.name == 'general'):                 
                await channel.send(message)

相关问题 更多 >