es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mensaje de error de comando de expulsión del bot de Discord en Python.

Así que encontré este código para un comando de expulsión y me gustaría saber cómo hacer para que, si la persona que envía el comando de expulsión no tiene permisos, responda al usuario y diga que no tiene los permisos adecuados.

@bot.command()
@commands.has_permissions(administrator=True)
async def kick(ctx, user : discord.Member,*,reason):
  await user.kick(reason=reason)
  await ctx.send(f'{user} expulsado por {reason} por {ctx.author}')

Ese es el código.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para asegurarse de que si la persona que envía el comando de kick no tiene los permisos adecuados, el bot les responda con un mensaje informándoles que no pueden usar el comando de kick, puedes utilizar la excepción MissingPermissions del módulo discord.ext.commands.

    Aquí tienes una versión actualizada del código que implementa esto:

    @bot.command()
    @commands.has_permissions(administrator=True)
    async def kick(ctx, user: discord.Member, *, reason):
        try:
            await user.kick(reason=reason)
            await ctx.send(f'{user} ha sido expulsado por {reason} por {ctx.author}.')
        except commands.MissingPermissions:
            await ctx.send(f"{ctx.author.mention}, no tienes permiso para usar este comando.")
    

    En esta versión modificada del código, agregamos un bloque try y except alrededor del comando user.kick(). En el bloque except, capturamos la excepción MissingPermissions, que se lanza cuando el comando es llamado por un usuario que no tiene los permisos requeridos. Dentro del bloque except, enviamos un mensaje al usuario que envió el comando, informándoles que no tienen permiso para usar el comando de kick.

    Con esta modificación, los usuarios que no tengan los permisos requeridos recibirán un mensaje explicando que no pueden usar el comando de kick, mientras que los usuarios que sí tienen los permisos requeridos podrán usar el comando como antes.

Comments are closed.