我想制作一个机器人,改变特定角色的颜色(例如,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)
制作一个每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()