ошибка tasks , ошибка с переменной

@tasks.loop(seconds=15,count=99999999999)
async def startgame():
    amount = random.randint(5, 35)
    num1 = random.randint(1, 10)
    num2 = random.randint(1, 10)
    operator = random.choice(['+', '-', '*', '/'])
    
    time = datetime.datetime.now() + datetime.timedelta(minutes=15)
    cool_time = disnake.utils.format_dt(time, style="R")
    embed = disnake.Embed(color=0x00ebed, title=f'Чат игра!')
    embed.add_field(name=F'Реши пример и получи {amount} билетиков ! У вас ровно 1 минута!\n', 
                        value=f'{num1} {operator} {num2}=?\n')
    embed.add_field(name=f'Решил пример?\n', 
                        value=f'Напиши правильный ответ в чат!\n')
    channel = bot.get_channel(1233426674012393583)
    await channel.send(embed=embed)



    correct_answer = eval(f'{num1}{operator}{num2}')

    async def check(message):
        return message.author == disnake.Member and message.content()

    try:
        message = await bot.wait_for('message', check=check, timeout=10.0)
    except asyncio.TimeoutError:
        embed = disnake.Embed(color=0xff0000, title=f'Чат игра!')
        embed.add_field(name=F'Ой!\n', 
                        value=f'Вы не успели ответить на пример!\n' , inline=True)
        embed.add_field(name=f'Ожидайте следующей чат-игры!\n', 
                        value=f'Правильный ответ:\n'  + str(correct_answer)  , inline=True)
        embed.add_field(name=f'Следующая игра ровно через:\n', 
                        value=f'{cool_time}\n'   , inline=True)
        channel = bot.get_channel(1233426674012393583)
        await channel.send(embed=embed)
    if message.content == str(correct_answer):
        member = message.author
        await bot.db.create_table()
        await bot.db.add_user(member)
        await bot.db.update_money(member, amount, 0)
        embed = disnake.Embed(color=0x00ff00, title=f'Чат игра!')
        embed.add_field(name=f'{member} Ответил правильно!\n', 
                        value=f'Вы правильно ответили на пример!\n' , inline=True)
        embed.add_field(name=f'Ваша награда: {amount} билетиков, поздравляем!\n', 
                        value=f'/balance - просмотреть свой баланс.\n' , inline=True)
        embed.add_field(name=f'Следующая игра ровно через:\n', 
                        value=f'{cool_time}\n'   , inline=True)
        channel = bot.get_channel(1233426674012393583)
        await channel.send(embed=embed)
    else:
        embed = disnake.Embed(color=0xff0000, title=f'Чат игра!')
        embed.add_field(name=F'Ой!\n', 
                        value=f'Вы ошиблись!\n' , inline=True)
        embed.add_field(name=f'Ожидайте следующей чат-игры!\n', 
                        value=f'Правильный ответ:\n'  + str(correct_answer)  , inline=True)
        embed.add_field(name=f'Следующая игра ровно через:\n', 
                        value=f'{cool_time}\n'   , inline=True)
        channel = bot.get_channel(1233426674012393583)
        await channel.send(embed=embed)
    

ошибка: if message.content == str(correct_answer): UnboundLocalError: local variable 'message' referenced before assignment


Ответы (2 шт):

Автор решения: user580418

...

    message = ""
    try:
        message = await bot.wait_for('message', check=check, timeout=10.0)
    except asyncio.TimeoutError:
...

Добавите до присвоения значения объявление переменной.

→ Ссылка
Автор решения: q r t s

Просто поместите всё вовнутрь:

    try:
        message = await bot.wait_for('message', check=check, timeout=10.0)

        if message.content == str(correct_answer):
            ...
        else:
            ...
    except asyncio.TimeoutError:
        ...
→ Ссылка