Manually picking users from reaction roles

I have a command which allows people to react to a message to enter into a "battle". Then with another command, 2 people are chosen. This is my code:

@client.command(aliases=['start', 'g'])

async def startbattle(ctx):    
 
    msg = await ctx.send("React to enter battle")
    await msg.add_reaction("🎉")
    await asyncio.sleep(10000000000000000)
    message = await ctx.fetch_message(msg.id)
    for reaction in message.reactions:
        if str(reaction.emoji) == "🎉":
            users = await reaction.users().flatten()
            if len(users) == 1:
                return await msg.edit(embed=discord.Embed(title="Nobody has won the giveaway."))
    try:
        user1 = random.choice(users)
        user2 = random.choice(users)
    except ValueError:
        return await ctx.send("not enough participants")
   

    await ctx.send(f'Battle will be against {user1} and {user2}')


@client.command()
async def pick(ctx):
    async for message in ctx.channel.history(limit=100, oldest_first=False):
        if message.author.id == client.user.id and message.embeds:
            reroll = await ctx.fetch_message(message.id)
            users = await reroll.reactions[0].users().flatten()
            users.pop(users.index(client.user))
            winner1 = random.choice(users)
            winner2 = random.choice(users)
            await ctx.send(f"The battle will be against {winner1.mention} and {winner2.mention}")
            break
    else:
        await ctx.send("No giveaways going on in this channel.")

This is the error which I get while using the "pick" command,

users = await reroll.reactions[0].users().flatten()
IndexError: list index out of range

the error is in the for loop as it gets the msg and the msg doesnt have any reaction so it there is no list so list is out of range to fix this u have to add try and except there so it skips the msg with no reactions.

code :

@client.command()
async def pick(ctx):
    async for message in ctx.channel.history(limit=100, oldest_first=False):
        if message.author.id == client.user.id and message.embeds:
            reroll = await ctx.fetch_message(message.id)
            try:
                users = await reroll.reactions[0].users().flatten()
            except:
                break
            users.pop(users.index(client.user))
            winner1 = random.choice(users)
            winner2 = random.choice(users)
            await ctx.send(f"The battle will be against {winner1.mention} and {winner2.mention}")
            return # <--- was the break
    else:
        await ctx.send("No giveaways going on in this channel.")

and a suggestion dont add break in the if statement as it will continuously check for msg if already it got one