【发布时间】:2021-03-27 00:27:44
【问题描述】:
这是我当前的代码,它显示了它当前所在的服务器。这是我希望它做的事情,但它效率不高,可以避免,而不是为它获得的每个服务器发送嵌入消息。
@client.command()
@commands.is_owner()
async def list_guilds(ctx):
servers = client.guilds
for guild in servers:
embed = discord.Embed(colour=0x7289DA)
embed.set_footer(text=f"Guilds requested by {ctx.author}", icon_url=ctx.author.avatar_url)
embed.add_field(name=(str(guild.name)), value=str(guild.member_count)+ " members", inline=False)
await ctx.send(embed=embed)
我想要做的是循环它所在的所有服务器并仅在单个嵌入中包含 10 个服务器后发送一个嵌入,然后它会发送另一个,避免使用嵌入垃圾邮件。
for client.guilds in range(10):
例如,嵌入应该如下所示:
Guilds list (page 1) showing 10 per embed
Discord server 0
Discord server 1
Discord server 2
Discord server 3
Discord server 4
...
....
这将简单地创建一个包含 10 个服务器的嵌入,名称和服务器所有者等,但目前只需要帮助在一个嵌入上发送多个服务器名称,而不是为每个服务器发送多个嵌入,它会发送目前600+。有人可以帮忙吗?
【问题讨论】:
标签: python list for-loop discord discord.py