【问题标题】:Discord.py ctx.guild.edit works but not self.bot.guild.edit?Discord.py ctx.guild.edit 有效,但 self.bot.guild.edit 无效?
【发布时间】:2020-04-09 10:50:57
【问题描述】:

正如标题所说, 我正在尝试进行公会编辑,但在一个事件中。 这是我的部分代码:

    @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 可以工作,但我不确定如何让它在事件中工作。

【问题讨论】:

    标签: python python-3.7 discord.py discord.py-rewrite


    【解决方案1】:

    你应该直接从Guild对象server调用edit

    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 装饰器只能用于命令。

    【讨论】:

      猜你喜欢
      • 2021-06-13
      • 2017-01-08
      • 2012-05-08
      • 2017-03-15
      • 2014-10-30
      • 2011-03-08
      • 2013-11-27
      • 2010-11-29
      • 2017-12-13
      相关资源
      最近更新 更多