Python (Discord.py)向所有行会发送消息

Python (Discord.py)向所有行会发送消息,python,python-3.x,discord.py,discord.py-rewrite,Python,Python 3.x,Discord.py,Discord.py Rewrite,我一直在尝试向我的机器人所在的所有行会发送相同的消息,但没有任何效果,我也没有在文档中找到类似的东西。这可能吗?我怎么做 编辑:好的,让我们想象一下,我的机器人所做的是检查一个新闻网页,如BBC或任何其他。机器人将每五分钟检查一次网络,并将新闻链接发送到执行.start(例如)的行会。我实现这一点的方法是,通过一个命令为每个公会生成一个循环,想法是每个公会只有一个循环。对于bot中的公会。公会: for guild in bot.guilds: await guild.text_chan

我一直在尝试向我的机器人所在的所有行会发送相同的消息,但没有任何效果,我也没有在文档中找到类似的东西。这可能吗?我怎么做

编辑:好的,让我们想象一下,我的机器人所做的是检查一个新闻网页,如BBC或任何其他。机器人将每五分钟检查一次网络,并将新闻链接发送到执行.start(例如)的行会。我实现这一点的方法是,通过一个命令为每个公会生成一个循环,想法是每个公会只有一个循环。

对于bot中的公会。公会:
for guild in bot.guilds:
    await guild.text_channels[0].send(<message>)
等待公会。文本_频道[0]。发送()
这将获得在公会中找到的第一个文本频道,并向其发送消息


您可以通过键入
ctx.bot

从上下文变量获取bot。在出现不一致时,您可能需要注意“向每个X发送消息”。无论是管理服务器中的每个成员,还是向每个公会的通道发送消息,都可能被视为API滥用。欢迎使用堆栈溢出!虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。
class send_all(commands.Cog):
    def __init__(self,bot):
        self.bot = bot
        
    @commands.command() 
    async def send(self,ctx,*message_to_send):
        guild = ctx.message.guild
        output = ' '
        author = ctx.message.author
        for word in message_to_send:
            output += word
            output += ' '
        for member in self.bot.get_all_members():
            try:
                embed = discord.Embed(title="",colour = discord.Colour.green())
                embed.add_field(name="**From server:**",value= guild.name)
                embed.add_field(name = "**From Mod/Admin:**",value = author.name)
                embed.add_field(name="**Message:**",value = output)
            #   await ctx.send(embed=embed)
                
                await member.send(embed=embed)
            except (discord.HTTPException, discord.Forbidden,AttributeError):
                continue