file_list.append(file)зачем?
file_list1=str(file_list)вот самый треш
ftp.retrbinary('RETR' + file_list1, tempfile.write)зачем ты сюда это треш стал совать
#ftp.retrbinary('retr ' + str(files), tempfile.write)еще раз намекает, что ты программируешь метод тыка, не понимая что ты делаешь.
ftp.retrbinary('RETR ' + file, tempfile.write)
Error uploading to Telegraph: 'str' object has no attribute 'get'вот ты сделал перехват общего исключения, а traceback никуда не сохранил, теперь и гадай в чём проблема.
но бот не должен переставать работать как это делает asyncio.sleepasyncio.sleep как раз не блокирует eventloop и бот должен работать, так что тут ты что-то делаешь не так
Так же есть ТГ бот на python с проверкой подпискину так идешь на фриланс и там заказываешь
Первое что пришло в голову - таблица contactsнорм
1. 10.000 пользователей импортируют свои 100-200 контактов - в бд уже будет >1 млн записейэто мало
Если строк будет очень много, то будет ли тормозить обычный select? на userId и phoneNumber будут индексыс большой вероятностью не будет, но обычно если возникает вопрос, собирают тестовый стенд и проверяют самостоятельно.
В компьютерных науках есть только две сложные проблемы – инвалидация кэша и именование переменныхназывай как тебе будет понятней, с опытом будешь точнее попадать.
это абстрактный класс MoneyState и два класса-состояния с логикой HasMoney и NoMoney.не видя общую картинку как ты у тебя там выдаются названия, можно предлагать как OrderState, StandartOrderState и FreeOrderState, так и BaseState, State и FreeState, и т.д, и т.п.