В настоящее время channel = client.get_channel(random.choice(channels))
находится вне вашего цикла while, что означает, что переменная channel
никогда не изменяется. Переместите его внутрь цикла while, чтобы изменять его каждый раз при отправке нового сообщения.
async def test_loop():
await client.wait_until_ready()
channels = ['550528972226', '5149003563352', '514900351233', '5799132312340']
while not client.is_closed:
channel = client.get_channel(random.choice(channels))
time = random.randint(1,5)+random.random()
monies = random.randint(100,250)
emojigrab = '?'
emojimsg = await client.send_message(channel, emojigrab)
await client.add_reaction(emojimsg, "?")
pay = await client.wait_for_reaction(emoji="?", message=emojimsg, timeout=1800,
check=lambda reaction, user: user != client.user)
if pay:
await client.delete_message(emojimsg)
await client.send_message(channel, "{} secures the bag for ${:,}".format(pay.user.mention, monies))
add_dollars(pay.user, monies)
await asyncio.sleep(int(time))