@NoPressF
Любит python

Пишет None в рейтинге?

Здравствуйте, пользователи форума, есть проблема с разделом рейтинга в телеграмм бота, пишет None хотя я пытаюсь вывести данные пользователя по его id в рейтинг вот код:
def get_top_surviveds(self, id):
	with self.connection:
		self.cursor.execute("SELECT survived FROM stats WHERE user_id = ?", (id, )).fetchone()
		self.connection.commit()

bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text='Топ выживших\n Андрей - {0}\n Вова - {1}\n Максим - {2}'.format(sql_lighter.get_top_surviveds(754651730), sql_lighter.get_top_surviveds(982543922), sql_lighter.get_top_surviveds(1720547162)), reply_markup=menu)
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
совет, который уже дан - ничего не стоит
код хороший, но None ведь действительно может быть

делай проверку, меняй на 0 (ноль) если None или перезапрашивай если нужно рейтинг
Ответ написан
@o5a
Так функция ничего и не возвращает. Если нужен топ N, то можно просто сразу возвращать N строк со всеми данными, используя limit
def get_top_surviveds(self, limit=3):
  with self.connection:
    return self.cursor.execute("SELECT * FROM stats ORDER BY survived desc LIMIT ?", (limit, )).fetchall()
Ответ написан
Ваш ответ на вопрос

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

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