Делаю своего экономического бота. Создал команду !sc-shop, она была выводить все роли из базы данных. Но при её выполнении, выдаётся ошибка
AttributeError: 'NoneType' object has no attribute 'mention'
@client.command(aliases=['shop'])
async def __shop(ctx):
embed = discord.Embed(
title='Магазин',
description='Здесь вы можете приобрести роль на сервере за **SCoins**',
color=0xCC33FF
)
for row in cursor.execute(f'SELECT role_id, cost FROM shop WHERE id = {ctx.guild.id} ORDER BY cost'):
embed.add_field(
name=f'Стоимость: **{row[1]} SCoins**',
value=f'Роль - {ctx.guild.get_role(row[0]).mention}',
inline=False
)
await ctx.send(embed = embed)
Как я понял, он не нашел id роли, поэтому он возвращает NoneType, а в следствии не может найти mention. Но если переписать команду, что бы выводился только id ролей:
@client.command(aliases=['shop'])
async def __shop(ctx):
embed = discord.Embed(
title='Магазин',
description='Здесь вы можете приобрести роль на сервере за **SCoins**',
color=0xCC33FF
)
for row in cursor.execute(f'SELECT role_id, cost FROM shop WHERE id = {ctx.guild.id} ORDER BY cost'):
embed.add_field(
name=f'Стоимость: **{row[1]} SCoins**',
value=f'Роль - {row[0]}',
inline=False
)
await ctx.send(embed = embed)
То она отобразит все роли с id
Помогите решить проблему, что бы выводилась названия каждой из ролей