【问题标题】:Discord bot kick command error message pythonDiscord bot kick 命令错误消息 python
【发布时间】:2021-12-06 09:04:33
【问题描述】:

所以我找到了这个 kick 命令的代码,我想知道如何制作它,所以如果发送 kick 命令的人没有权限,它会回复用户并说他们没有正确的权限。

@commands.has_permissions(administrator=True)
async def kick(ctx, user : discord.Member,*,reason):
  await user.kick(reason=reason)
  await ctx.send(f'{user} kicked for {reason} by {ctx.author}')

这是代码

【问题讨论】:

  • 你可以上网搜索一下已经有人问过类似问题了
  • @dogluva 那么也许你应该找到一个类似的问题并将其标记为重复。
  • 另一个类似的问题是here
  • 这能回答你的问题吗? Handling errors in discord.py (no permission)

标签: python discord.py pycord


【解决方案1】:

这应该会发送一条消息,告诉用户如果他们尝试在没有适当角色的情况下使用该命令,他们没有权限

from discord.ext.commands import MissingPermissions
#Import this at the top of your code
    
#Write the error handler below the code where you define the kick command
@kick.error
async def kick_error(self, ctx, error):
    if isinstance(error, MissingPermissions):
        await ctx.send("You don't have permission to kick members.")

对我来说,我会写:

import discord
from discord.ext import commands
from discord.ext.commands import MissingPermissions
    
client = commands.Bot(command_prefix=("prefix"))
    
@client.command()
@commands.has_role("Administrator")
async def kick(self, ctx, member : commands.MemberConverter, *, reason=None):
  await member.kick(reason=reason)
  await ctx.send(f"{member} has been kicked, reason: {reason}")
    
@kick.error
async def kick_error(self, ctx, error):
    if isinstance(error, MissingPermissions):
        await ctx.send("You don't have permission to kick members.")

【讨论】:

  • 告诉我它是否有效!
  • 非常感谢,效果很好 :) 祝您白天或夜晚愉快
猜你喜欢
  • 2021-03-01
  • 2018-03-04
  • 2021-04-11
  • 2021-01-05
  • 2020-08-07
  • 2019-07-31
  • 2019-08-22
  • 2021-01-28
  • 2021-04-30
相关资源
最近更新 更多