【发布时间】:2021-01-20 14:08:51
【问题描述】:
大家好,我正在用 python 编写一个不和谐的机器人,我有禁止和踢命令。那么主要问题是这些命令不起作用!我不知道为什么!请帮忙,这是我的代码:
@client.command(aliases=['Kick','KICK','KİCK'])
@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.mention} is kicked.")
@kick.error
async def kick_error(ctx, error):
if isinstance(error, commands.MissingPermissions):
await ctx.send("Sorry, but if you want to use this command you need to have **Kick Members** permission.")
@client.command(aliases=['Ban','BAN'])
@commands.has_permissions(ban_members=True)
async def ban(ctx, member : discord.Member, *, reason=None):
await member.ban(reason=reason)
await ctx.send(f'{member.mention} is banned.')
#ban someone in a server error
@ban.error
async def ban_error(ctx, error):
if isinstance(error, commands.MissingPermissions):
await ctx.send("Sorry, but if you want to use this command you need to have **Ban Members** permission.")
@client.command(aliases=['Unban','UNBAN'])
async def unban(ctx, *, member):
banned_users = await ctx.guild.bans()
member_name, member_discriminator = member.split('#')
for ban_entry in banned_users:
user = ban_entry.user
if (user.name, user.discriminator) == (member_name, member_discriminator):
await ctx.guild.unban(user)
await ctx.send(f'{user.mention} is unbanned.')
return
#unban someone in a server error
@unban.error
async def unban_error(ctx, error):
if isinstance(error, commands.MissingPermissions):
await ctx.send("Sorry, but if you want to use this command you need to have **Ban Members** permission.
【问题讨论】:
-
你有 on_message 吗?
标签: python discord.py discord.py-rewrite