Discord.py自定义状态动画

时间:2020-10-22 00:55:01

标签: python discord.py

我已经开始在python中试用Discordbots,我的一个朋友告诉我,您可以使用Bot手动自定义游戏活动。所以这是我的问题: 如果您输入activity1,是否可以添加到activity2中,并且它们在无限循环中每秒交换一次? 谢谢

2 个答案:

答案 0 :(得分:0)

您可以让它改变的不是很快,实际上许多受欢迎的机器人的状态都在改变,但是您可能无法以如此之快的速度发出请求(而且可能会违反TOS)。

更新: 我只是使用以下代码进行了测试,它在停止之前运行了5次(可能是速率限制)

@client.command()
async def statusLoop(ctx):
    for i in range(100):
        time.sleep(1)
        await client.change_presence(activity = discord.Activity(type=discord.ActivityType.watching, name=(str(random.choice(list(range(900)))))))

答案 1 :(得分:0)

您必须使用tasks.loop

下面是代码:

from discord.ext import tasks
@bot.event
async def on_ready():
    print("Online")
    bot.statuses = cycle(['Activity 1', 'Activity 2'])
    change_status.start()
@tasks.loop(seconds=30)
async def change_status():
    await bot.wait_until_ready()
    await bot.change_presence(activity=discord.Game(name=next(bot.statuses)))