【问题标题】:discord.py - Automaticaly Change an Role Colordiscord.py - 自动更改角色颜色
【发布时间】:2018-10-06 22:48:03
【问题描述】:

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

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))

【问题讨论】:

  • 那么,问题出在哪里?
  • 它没有改变颜色,找不到服务器
  • 如果问题是速率限制,我不会感到惊讶,每 5 秒将颜色更改为青色,然后立即变回蓝色。更严重的是,我猜问题在于他传递了一个期望 (discord.Server, discord.Role, **kwargs) 两个字符串的方法,这导致库无法使用任何东西
  • 请编辑问题以说明您遇到了什么问题以及您已经尝试过什么。

标签: python python-3.x discord.py


【解决方案1】:

你可以试试这样的

@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())

【讨论】:

    猜你喜欢
    • 2021-06-02
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2021-07-29
    • 2021-09-30
    • 1970-01-01
    相关资源
    最近更新 更多