【问题标题】:Is it possible to make a role that changes colors (rainbow role)是否可以制作一个会改变颜色的角色(彩虹角色)
【发布时间】:2021-06-25 03:06:12
【问题描述】:

我想制作一个可以改变特定角色颜色的机器人(例如 5 种颜色/秒)。现在我不能让它改变我正在测试它的角色的颜色,它工作了,我在某个地方搞砸了,我不能再让它工作了。

@client.command(pass_context=True)
async def rb_role(ctx, member: discord.Member, *, time=10):
    guild = ctx.guild
    role = discord.utils.get(guild.roles, name="RB role")
    if not role:
        role = await guild.create_role(name="RB role")
        
    await member.add_roles(role)
    
    for k in range(1, time+1):
        role = discord.utils.get(guild.roles, name="RB role")
        await role.edit(colour=0xFF0000)
        await role.edit(colour=0x00FF00)
        await role.edit(colour=0x0000FF)

【问题讨论】:

    标签: python discord discord.py


    【解决方案1】:

    创建一个每 5 秒运行一次的任务,并在每个周期将颜色切换到下一个。

    from discord.ext import tasks
    
    @tasks.loop(seconds=5.0)
    async def rainbowRole():
      colors = [
        color 1
        color 2
        etc
      ]
    
      guild = discord.utils.get(client.guilds, id=SERVERID)
      role = discord.utils.get(guild.roles, id=ROLEID)
      
      currentColor = colors.index(role.color)
      newColor = colors[currentColor + 1]
    
      await role.edit(color=newColor)
    
    rainbowRole.start()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-12
      • 2015-01-11
      • 1970-01-01
      • 1970-01-01
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      相关资源
      最近更新 更多