繁体   English   中英

返回 0 而不是 2?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM