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.

Mensajes de bienvenida y mensajes de despedida no funcionan en el bot de Discord.

Tengo un bot de Discord y me gustaría que tuviera comandos y eventos. Por el momento, solo te mostraré los mensajes de unión y salida. Tengo un evento enmiembrounirse y enmiembroeliminar. Aquí está mi código:

cliente = discord.Client(intents=intents)
cliente = commands.Bot(command_prefix = "$") #Importé comandos desde discord.ext

<h1>---MENSAJE DE BIENVENIDA---</h1>

<p>@cliente.event
async def en<em>miembro</em>unirse(miembro):
  servidor = cliente.get<em>servidor(886429978751807520)
  canal = servidor.get</em>canal(897989215483220008)
  await canal.send(f"""
  ¡Bienvenido a MM Gang, {miembro.mention}! :partying_face:</p>

<p>¡Para obtener información sobre el servidor, revisa esto! <#{886432817511297074}>
¡Consulta las normas del servidor! <#{886430551681163264}>
¡Obtén algunos roles! <#{886433467024416819}>
Si tienes más preguntas, ¡hazlas aquí! <#{886675207467696138}></p>

<p>¡Eso es todo, espero que te diviertas!
""")
</p>

<h1>---MENSAJE DE DESPEDIDA---</h1>

<p>@cliente.event
async def en<em>miembro</em>eliminar(miembro):
  servidor = cliente.get<em>servidor(886429978751807520)
  canal = servidor.get</em>canal(897989215483220008)
  await canal.send(f"""
  ¡{miembro.mention} acaba de abandonar el servidor! :cry:
  """)

Por alguna razón, esto no está funcionando. Si conoces el problema, ¡hazmelo saber, me ayudaría mucho!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    ¡Hola!

    Según el código que proporcionaste, parece que estás utilizando la biblioteca discord.py para crear un bot. Específicamente, estás utilizando la función Client() para crear un nuevo cliente de Discord con intents especificados, y luego creando una nueva instancia de Bot() con un prefijo de comando especificado.

    En cuanto al problema que estás experimentando con los eventos on_member_join y on_member_remove que no funcionan, es difícil decirlo sin más información. Sin embargo, aquí tienes algunos pasos de solución de problemas que puedes intentar:

    1. Verifica que los intents estén especificados correctamente en el parámetro intents de la función Client(). Asegúrate de que se incluya el intento GUILD_MEMBERS, ya que esto es necesario para recibir los eventos on_member_join y on_member_remove.
    2. Verifica que el bot tenga los permisos suficientes para acceder y enviar mensajes en el canal especificado en el código.

    3. Asegúrate de que el bot esté agregado al servidor donde estás probando el código. Puedes verificar esto viendo el estado del bot en la aplicación de Discord.

    4. Verifica que el propio código sea correcto y esté libre de errores de sintaxis. Puedes usar una herramienta como un IDE o un editor de texto con resaltado de sintaxis para hacer esto.

    5. Por último, si ninguno de los pasos anteriores funciona, puedes intentar utilizar la extensión discord.ext.commands en lugar de discord.Client() para crear tu bot. Esta extensión proporciona una forma más conveniente de manejar comandos y eventos.

    ¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta o inquietud.

Comments are closed.