Всем добрый вечер! Делаю бота для дискорд сервера и хочу сделать команду профиля. В профиле хочу сделать вывод ролей пользователя, но не всех а только трёх.
@client.command(aliases = ['me', 'profile'])
async def __profile(ctx, member: discord.Member = None):
if member is None:
mentions = [role.mention for role in ctx.author.roles[1:]]
rolescount = len(mentions)
embed = discord.Embed(title = f'Профиль - {ctx.author}',
description = f"**```fix\nО себе: {cursor.execute('SELECT bio FROM users WHERE id = ?', (ctx.author.id,)).fetchone()[0]}```**" , color = 0xb5bceb)
t = ctx.message.author.status
if t == discord.Status.online:
d = "В сети"
t = ctx.message.author.status
if t == discord.Status.offline:
d = "Не в сети"
t = ctx.message.author.status
if t == discord.Status.idle:
d = "Не активен"
t = ctx.message.author.status
if t == discord.Status.dnd:
d = "Не беспокоить"
embed.set_thumbnail(url=f'{ctx.author.avatar_url}')
embed.add_field(name=':cookie:Сообщений', value=f"```ini\n{cursor.execute('SELECT message_count FROM users WHERE id = ?', (ctx.author.id,)).fetchone()[0]}```", inline = True)
embed.add_field(name=':sparkles:Репутация', value=f"```ini\n{cursor.execute('SELECT rep FROM users WHERE id = ?', (ctx.author.id,)).fetchone()[0]}```", inline = True)
embed.add_field(name=":computer:Активность", value=f"**```{d}```**",inline=True)
embed.add_field(name=f"Роли ({rolescount})", value=f"".join(mentions))
embed.add_field(name=":calendar:Возраст аккаунта / Присоединился к серверу", value=f"**```{ctx.message.author.created_at.strftime('%d.%m.%Y')} / {ctx.message.author.joined_at.strftime('%d.%m.%Y')}```**", inline=False)
await ctx.message.delete()
await ctx.send(embed=embed)
Бот выводит все роли пользователя, не подскажете как сделать только три?