Я рассмотрел несколько вариантов, но они либо были слишком базовы для моих нужд, либо требовательны к ресурсам.А как по вашему библиотека должна понимать что правильно? Придётся разбираться в "слишком базовых" вещах.
Грамматические ошибки (например, "Я не знает куда он пошёл." должно стать "Я не знаю, куда он пошёл.").А может быть "Она не знает куда он пошёл"?
ppls = [('user1', 73), ('user2', 43), ('user3', 39), ('user4', 37), ('user5', 27),
('user6', 22), ('user7', 11), ('user8', 10), ('user9', 10), ('user10', 9)]
string = 'ТОП 10 ИГРОКОВ:\n'
for ppl in ppls:
string += f'{ppl[0]} - {ppl[1]}\n'
print(string)
len_pass_numbers.lower()
(и прочие) возвращает вам строку 'да', а вы сравниваете с 'Да'. chars
- пустой.from string import digits, ascii_lowercase, ascii_uppercase, punctuation
await
заставляет ожидать завершения всей функции и только потом происходит переход к следующей итерации.asyncio.create_task
, то создается и запускается фоновая задача - цикл продолжается после запуска этой асинхронной функции и не ждет ее завершения.хотя в функции pool_user нет ничего, что могло бы блокировать асинхронный цикл
if await user.connect()
await bot.send_message
except:
pass
Никаких ошибок бот не выдает
учитывая то, что все функции асинхронные?а с чего ты решил что они все асинхронные? С базой ты синхронно работаешь, а у gspread поди синхронные http запросы (это и будет основное место блокирови). Ищи асинк версии этих библиотек или запускай синхронный код в run_in_executor