На Discord вы можете иметь сообщения длиной не более 2000 символов.Я пытаюсь добавить имя сервера, количество участников и идентификатор сервера для каждого сервера, на котором находится бот, в список, а затем отправлять список на канал.
Однако, поскольку длина списка превышает 2000 Iпытался разделить его, однако метод требует, чтобы он обновлялся каждый раз вручную, поскольку список увеличивается.Как я могу сделать так, чтобы скрипт автоматически разбивал список на основе того, сколько «разделений» требуется, а затем отправлял эти «разбиения»?
То, что у меня есть, работает, но не автоматически:
@commands.command()
async def getallservers(self, ctx):
serverslist = []
def split_list(alist, wanted_parts=1):
length = len(alist)
return [ alist[i*length // wanted_parts: (i+1)*length // wanted_parts]
for i in range(wanted_parts) ]
if ctx.author.id == 204616460797083648:
for x in self.bot.guilds:
serverslist.append(f'{x.name}: **{len(x.members)}** - {x.id}\n')
q1,q2,q3,q4,q5,q6 = split_list(serverslist, wanted_parts=6)
embed = discord.Embed(title='Server List')
embed.description = ''.join(q1)
await ctx.send(embed=embed)
embed.description = ''.join(q2)
await ctx.send(embed=embed)
embed.description = ''.join(q3)
await ctx.send(embed=embed)
embed.description = ''.join(q4)
await ctx.send(embed=embed)
embed.description = ''.join(q5)
await ctx.send(embed=embed)
embed.description = ''.join(q6)
await ctx.send(embed=embed)
else:
pass