vollchara
@vollchara
Нубик

Почему ctx.guild.id возвращает None в запросе?

Пишу доску лидеров, на sqlite всё работает, на postgres почему то выделывается.
Получаю ошибку TypeError: 'NoneType' object is not iterable
@client.command(aliases= ['leaderboard', 'lb', 'top'])
async def __leaderboard(ctx):
    embed = discord.Embed(title = 'Топ 10 сервера')
    counter = 0

    for row in cursor.execute("SELECT name, cash FROM users WHERE server_id = {} ORDER BY cash DESC LIMIT 10".format(ctx.guild.id)):
        counter += 1
        embed.add_field(
            name = f'# {counter} | {row[0]}',
            value = f'Баланс: {row[1]} коинов',
            inline = False
        )
    await ctx.send(embed = embed)
  • Вопрос задан
  • 193 просмотра
Решения вопроса 1
@o5a
Отсутствует fetchall(). Сам по себе cursor.execute возвращает None.
for row in cursor.execute(...).fetchall():
И как уже тут заметили, не надо использовать форматирование строк для подстановки параметров SQL запроса, используйте нормальный синтаксис (через %s и передачу данных), в предыдущем вопросе ведь уже приводили пример.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы