discord.py - 自动更改角色颜色

2022-01-15 00:00:00 python python-3.x discord.py

问题描述

我试图让角色 RGB 每 5 秒更改一次颜色 redyellow

I was trying to make so the role RGB Changes to color red and yellow every 5 seconds

async def runtime_background_task(role = discord.Role):
   while not bot.is_closed:
       await bot.edit_role(server="493121776402825219", role="RGB", colour=discord.Colour(0xff0000))
       await asyncio.sleep(5)
       await bot.edit_role(server="493121776402825219", role="RGB", colour=discord.Colour(0xffff00))


解决方案

你可以试试这样的

@bot.event
async def on_ready():
  server = bot.get_server("493121776402825219")
  return server

async def runtime_background_task():
  colours = [0xFF0000, 0x00FF00, 0x0000FF0]
  i = 0

  server = await on_ready()
  role = discord.utils.get(server.roles, name="RGB")

  while not bot.is_closed:
    i = (i + 1) % 3
    await bot.edit_role(server=server, role=role, colour=discord.Colour(colours[i]))

    await asyncio.sleep(5)

bot.loop.create_task(runtime_background_task())

相关文章