首页 > 解决方案 > 是否有一个正在工作的解禁命令?

问题描述

我试过以下命令:

@client.command
@commands.has_permissions(ban_members=True)
async def unban(ctx, *, member : discord.Member):
    banned_users = await ctx.guild.bans()
    member_name, member_disc = member.split("#")
    for banned_entry in banned_users:
        user = banned_entry.user
        if(user.name, user.discriminator)==(member_name, member_disc):
            await ctx.guild.unban(user)
            unbanned = discord.Embed(title="Unban <:ban:756532045299318784>", description=f"**{member}** is unbanned! <a:tick:756202944461930567>", color=discord.Color.green(), timestamp=datetime.datetime.utcnow())
            await ctx.send(embed = unbanned)
    await ctx.send(f"Couldn't find **{member}** named person. iTs CaSe SeNsItIvE!")

这只是输入“Wumpus#0001”等名称的简单代码。但它向我展示了一个大错误:

Traceback (most recent call last):
  File "C:\Users\Fujitsu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\client.py", line 312, in _run_event
    await coro(*args, **kwargs)
  File "c:/Users/Fujitsu/Desktop/Yupiter/bot.py", line 40, in on_command_error
    raise error
  File "C:\Users\Fujitsu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\bot.py", line 903, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\Fujitsu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 855, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\Fujitsu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\ext\commands\core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
Ignoring exception in on_command_error
Traceback (most recent call last):
  File "C:\Users\Fujitsu\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\client.py", line 312, in _run_event
    await coro(*args, **kwargs)
  File "c:/Users/Fujitsu/Desktop/Yupiter/bot.py", line 40, in on_command_error
    raise error
discord.ext.commands.errors.CommandNotFound: Command "unban" is not found

“未找到“取消禁令”命令”。我能做什么,有没有办法允许输入 ID 而不是用户名#discriminator?

标签: discorddiscord.pydiscord.py-rewrite

解决方案


You just made a simple mistake. @client.command must be @client.command().


推荐阅读