簡體   English   中英

(discord.py) 為什么我的踢腿命令不起作用?

[英](discord.py) why my kick commands is not working?

@client.command
@commands.has_permissions(kick_members=True)
async def kick(ctx, member: discord.Member, *, reason = None):
    await member.kick(reason=reason)
    await ctx.send(f'{member} Has been kicked')

我有我的on_command_error事件,

@kick.error
async def on_kick_error(ctx, error):
    if isinstance(error, commands.MissingRequiredArgument):
        await ctx.send('Please specify an user')
    elif isinstance(error, commands.CheckFailure):
        await ctx.send('You do not have a perms to do that!')
    else:
        await ctx.send('There is some error')

然后我收到了不和諧的錯誤消息

discord.py 版本 1.5

@commands.has_permissions(kick_members=True)
@client.command()
async def kick(ctx, user: discord.Member, *, reason="No reason provided"):
        await user.kick(reason=reason)
        kick = discord.Embed(title=f":boot: Kicked {user.name}!", description=f"Reason: {reason}\nBy: {ctx.author.mention}")
        await ctx.message.delete()
        await ctx.channel.send(embed=kick)
        await user.send(embed=kick)

這行得通嗎?

@client.command()
@commands.has_permissions(kick_members=True)
async def kick(ctx, member: typing.Optional[discord.Member], arg = None):
    if arg == None:
        await ctx.send("Kicked " + member.mention + ".")
    else:
        await ctx.send("Kicked " + member.mention + " for " + arg + ".")
    await ctx.guild.kick(member)

這應該有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM