Python Discord.py ctx.guild.edit可以工作,但不是self.bot.guild.edit?

Python Discord.py ctx.guild.edit可以工作,但不是self.bot.guild.edit?,python,python-3.7,discord.py,discord.py-rewrite,Python,Python 3.7,Discord.py,Discord.py Rewrite,正如标题所说, 我正试图做公会编辑,但在一个事件。 以下是我的部分代码: @commands.guild_only() async def on_ready(self): server = self.bot.get_guild("serverid") while True: await self.bot.guild.edit(guild=server, name="foo") await asyncio.sl

正如标题所说, 我正试图做公会编辑,但在一个事件。 以下是我的部分代码:

    @commands.guild_only()
    async def on_ready(self):
    server = self.bot.get_guild("serverid")
        while True:
            await self.bot.guild.edit(guild=server, name="foo")
            await asyncio.sleep(1)
            await self.bot.guild.edit(guild=server, name="bar")
            await asyncio.sleep(1)
我已经用一个独立的命令对它进行了测试,所以我知道ctx.guild.edit可以工作,但我不确定如何让它在活动中工作。

您应该直接从
guild
对象
服务器调用

async def on_ready(self):
server = self.bot.get_guild(SERVER_ID)
while server is not None:
    await server.edit(name="foo")
    await asyncio.sleep(1)
    await server.edit(name="bar")
    await asyncio.sleep(1)
另外,请确保您将公会id作为int而不是字符串传递,并且
guild\u only
装饰符只能用于命令