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.

¿Por qué no puedo cambiar un mensaje a Int en Discord.py?

No puedo cambiar un mensaje a un número entero en Discord.py.
Aquí está el código.

@bot.command()
async def triv(message):
    v = randint(1,3)
    def check(m):
        return m.author == message.author and m.channel == message.channel
    if int(v) == int(1):
        mn = randint(1, 15)
        mn1 = randint(1, 10)
        mz = mn * mn1
        membed = discord.Embed(
            title="Aquí está la pregunta",
            description=str(mn) + " * " + str(mn1) + "',
Type Your Answer Below.. '",
            url=None,
            color=discord.Color.blue())
        await message.send(embed=membed)
        gt = await bot.wait_for('message', check=check)
        if int(gt) == int(mz):
            await message.send('¡Es correcto!')
        else:
            await message.send('¡Es incorrecto... La respuesta era `' + str(mz) + '`!')

Aquí está el mensaje de error:

TypeError: el argumento de int() debe ser una cadena, un objeto similar a bytes o un número, no 'Message'

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El problema con el código es que está intentando convertir la variable gt, que es un mensaje de Discord, a un entero utilizando la función int().

    Para solucionar esto, necesitamos extraer el contenido del mensaje utilizando el atributo content, de esta manera:

    if int(gt.content) == int(mz):
    

    Esto convertirá el contenido del mensaje a un entero, que luego se podrá comparar con mz.

Comments are closed.