@Ravenswood
Разработчик дискорд бота

Как отсортировать все сервера, где есть бот, по количеству участников?

Мне надо получить все сервера, где есть бот, и отсортировать их по убыванию за количеством участников. У меня есть такой код, который показывает мне все сервера.
@Bot.command()
async def listserver(ctx, page: int = 1):
	output = ''
	guilds = Bot.guilds
	pages = math.ceil(len(guilds)/10)
	if 1 <= page <= pages:
		counter = 1+(page-1)*10
		for guild in guilds[(page-1)*10:page*10]:
			output += f'{counter}. {guild.name} {len(guild.members)}\n'
			counter += 1
		embed = discord.Embed(
			color=discord.Color.orange(),
			description=output,
			title='**СПИСОК ГИЛЬДИИ**'
		)
		embed.set_footer(text=f'Страница  {page} из {pages}')
		await ctx.send(embed=embed)
	else:
		await ctx.send('Указанная вами страница не существует')
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
@UberPool
Python/JS coder
Получай количество участников сервера и сравнивай со всеми остальными,таким образом и отсортируешь.Либо же используй уже готовые методы по типу
max()
min()
Ответ написан
Комментировать
sorted(bot.guilds, key = lambda g: g.member_count, reverse=True)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы