嘿,我是discord.py的初学者,需要一些帮助。
我正在制作一个不和谐的bot,并且我有一个命令,只有具有“ Staff”角色的成员才能使用,但是如果你没有该角色,我想要一个发送嵌入信息的命令,该命令显示“ Staff角色是使用此命令的要求命令!”。但是我不知道该怎么做,我已经尝试了所有方法,但是没有任何效果= /
这就是我到目前为止
# Moderator Commands List
@commands.has_role('Staff')
@bot.command(name='help_mod')
async def help_mod(context):
my_embed = discord.Embed(title="Moderator Plugin", color=0xFFC71C)
my_embed.add_field(name="Ban a member from the server", value="``?ban [member] (optional reason)``", inline=False)
my_embed.add_field(name="Temporarily ban a member from the server", value="``?tempban [member] [duration] (optional reason)``", inline=False)
my_embed.add_field(name="Mute a member in the whole server", value="``?mute [member] (optional reason)``", inline=True)
my_embed.add_field(name="Temporarily mute a member in the server", value="``?tempmute [member] [duration] (optional reason)``", inline=False)
my_embed.add_field(name="Kick a member from the server", value="``?kick [member] (optional reason)``", inline=False)
my_embed.add_field(name="Unban a member", value="``?unban [member]``", inline=False)
my_embed.add_field(name="Unmute a member", value="``?unmute [member]``", inline=False)
my_embed.set_thumbnail(url='https://cdn.discordapp.com/attachments/765665083082407976/767502481922981928/ModHammer.png')
my_embed.set_footer(text="Work in progress, these commands are not in function yet.")
感谢你提供的所有帮助!
你可以在错误处理程序中执行此操作:
@bot.command(name='help_mod')
@commands.has_role('Staff')
async def help_mod(ctx):
# ...
@help_mod.error # <- name of the command + .error
async def help_mod_error(ctx, error):
if isinstance(error, commands.MissingRole):
await ctx.send("Staff role is a requirement to use this command!")
这是错误处理的介绍
谢谢,这正是我想要的,而且效果很好!
请记住接受答案(如果有帮助的话)