如何向机器人所在的每台服务器发送消息(discord.py)

时间:2020-07-29 16:08:22

标签: discord.py

所以我希望我的机器人在我的机器人所在的每台服务器中发送一条消息,但是它将仅以类似的频道名称发送一条消息

示例:

//broadcast hello

然后机器人会搜索常规频道名称

该机器人将消息发送到该频道,它将继续向该机器人所在的其他服务器发送“ hello”消息。

那么有人可以给我一个例子吗?因为我不知道如何。所以我在这里寻求帮助

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是遍历该漫游器所在的每个服务器,然后遍历每个服务器中的每个通道,测试该通道的名称是否为#general,如果是,则向该通道发送消息。您可以使用bot.guilds来获取漫游器所在的所有服务器的列表,然后使用guild.channels来获取服务器中的所有通道,然后可以使用channel.name来检查该机器人的名称。渠道。这是完整的命令:

@bot.command()
@commands.has_permissions(administrator=True)
async def broadcast(ctx, message):
    for guild in bot.guilds:
        for channel in guild.channels:
            if(channel.name == 'general'):
                await channel.send(message)

bot.run(token_here)