Discord.py ctx.guild.edit 有效但 self.bot.guild.edit 无效?
Discord.py ctx.guild.edit works but not self.bot.guild.edit?
正如标题所说,
我正在尝试对事件进行公会编辑。
这是我的部分代码:
@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
对象调用 edit
server
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_only
装饰器只能用于命令。
正如标题所说, 我正在尝试对事件进行公会编辑。 这是我的部分代码:
@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
对象调用 edit
server
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_only
装饰器只能用于命令。