반응형
    
    
    
  그래서 .invites 또는 .invites @user에 응답 할 수있는 명령을 만들고 싶습니다.
이 명령을 .invites로 실행하면 오류 처리기가 시작되고 @user가 필요하다고 말합니다.
내 오류 처리기를 제거하려고 시도했지만 명령이 아무 작업도 수행하지 않습니다.
이 명령이 양방향으로 작동하도록하려면 어떻게해야합니까?
@commands.command()
    async def invites(self, ctx, user: discord.Member):
        global last1
        global invites1
        try:
            userinvitecount = 0
            gld = self.bot.get_guild(int(guild_id))
            while True:
                invs = await gld.invites()
                tmp = []
                for i in invs:
                    if user.id == i.inviter.id:
                        top = i.uses
                        userinvitecount += int(top)
                    tmp.append(tuple((i.inviter.id, i.code, i.uses)))
                invites1 = tmp
                break
            usr = gld.get_member(int(user.id))
            eme = discord.Embed(description=f"{usr.mention} has {userinvitecount} invite's", color=0x03d692, title=" ")
            await ctx.send(embed=eme)
        except commands.MissingRequiredArgument:
            user = ctx.message.author.id
            userinvitecount = 0
            gld = self.bot.get_guild(int(guild_id))
            while True:
                invs = await gld.invites()
                tmp = []
                for i in invs:
                    if user.id == i.inviter.id:
                        top = i.uses
                        userinvitecount += int(top)
                    tmp.append(tuple((i.inviter.id, i.code, i.uses)))
                invites1 = tmp
                break
            usr = gld.get_member(int(user.id))
            eme = discord.Embed(description=f"{usr.mention} has {userinvitecount} invite's", color=0x03d692, title=" ")
            await ctx.send(embed=eme)
if isinstance(error, commands.MissingRequiredArgument):
        # generic error handler for commands entered wrong
        embed = discord.Embed(
            title="Failed",
            description="Failed to use command properly \n Please try again.",
            colour=discord.Colour.blurple(),
        )
        await ctx.send(embed=embed)
해결 방법
 기본값  값을 사용하면됩니다. 
명령에서  사용자가 없음 인지 여부를 간단히 확인할 수 있습니다.
기본값을 사용할 수 있습니다. 아래와 같이 사용자를  없음 으로 설정합니다.
@commands.command()
async def invites(self, ctx, user: discord.Member = None):
참조 페이지 https://stackoverflow.com/questions/63756949
반응형
    
    
    
  '파이썬' 카테고리의 다른 글
| 파이썬 discord.py가 자동으로 결과를 직접 메시지로 전송 (0) | 2020.09.14 | 
|---|---|
| 파이썬 두 개의 데이터 프레임 모두에 NaN 만있는 Timeindex를 얻으려면 어떻게해야합니까? (0) | 2020.09.14 | 
| 파이썬 처리 방법 (Python의 자바 스크립트 변수? (0) | 2020.09.14 | 
| 파이썬 Python3 웹 페이지에서 전체 텍스트를 얻지 못함 (0) | 2020.09.13 | 
| 파이썬 목록이 비어 있어서는 안됩니다. (0) | 2020.09.13 | 
댓글