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