如何使Discord.py中的命令使机器人离开公会?

时间:2020-08-28 15:28:56

标签: python discord discord.py

我希望机器人通过命令离开公会。我尝试过:

# app/views.py

from django.shortcuts import redirect
from django.contrib.auth import logout

def logout_view(request):
  logout(request)
  response = redirect('/home')
  response.delete_cookie('example_cookie')
  return response

但这会引发以下错误,

 @commands.command()
    @commands.check(user_is_me)
    async def leave(self,guild_id):
        await self.bot.get_guild(int(guild_id)).leave()

我该如何解决?

1 个答案:

答案 0 :(得分:1)

如果您查看command的文档,则会看到类似的示例

@commands.command()
def test(ctx, arg)

在课堂上使用它时,您会以self作为第一个参数,但仍然需要其他参数

@commands.command()
def test(self, ctx, arg)

在您的代码中将是

def leave(self, ctx, guild_id)

但是您使用leave(self, guild_id),因此您在变量context中得到了guild_id,后来又尝试在context中使用此int(),并且在错误消息中得到有关Context

的信息
int() argument must be a string, a bytes-like object or a number, not 'Context'