[英]Returning 0 instead of 2?
serverCount = str(len(client.guilds))
status = cycle([f'Verified in {serverCount} servers!', ';help'])
@tasks.loop(seconds=15)
async def change_status():
await client.change_presence(activity=discord.Activity(type=discord.ActivityType.playing, name=next(status)))
@client.event
async def on_ready():
print('Galactia is prepared for lift off!')
change_status.start()
我的变量serverCount
返回 0 而不是 2 (它的意思是返回)
我会给你一个更好的代码类型。
这里是:
@tasks.loop(seconds=20)
async def status_refresh():
await phb.wait_until_ready()
botactivity = discord.Activity(type=discord.ActivityType.playing, name=f"Verified in {len(client.guilds)} server(s)! | ;help")
await phb.change_presence(status=discord.Status.dnd, activity=botactivity)
status_refresh.start()
解释:
phb.wait_until_ready()
仅当机器人在线时才开始循环。这实际上就是你所需要的,因为你知道所有其他的东西。
这将按照您想要的方式工作。
感谢:D
要获取您的机器人所在的服务器数量,您需要遍历它所在的所有服务器。所以我会做类似的事情
servers = for guild in client.guilds
s = len(servers)
然后,您可以将此应用于您的状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.