Комментарии 7
Туториал годный, но если им будут пользоваться новички, то лучше сразу приучать их к прекрасному :)
Можно использовать f-string вместо кучи сложений:
Или через .join:
Можно использовать передачу словаря или json вместо строки и её парсинга.
Можно использовать двух ботов в одном коде, вместо разделения.
Можно использовать таски asyncio вместо запуска cопрограмм.
Можно использовать .get() в словарях, чтобы не ловить Exception в случае недоступности ключа.
Можно использовать f-string вместо кучи сложений:
call = f"python3.6 audiotubeagent36/main.py {path_file_mp3} {audio_title} " \
f"{us_audio_codec} {chat_id} {pool_object.get('_id')} {config.BOT_NAME} " \
f"{duration}"
Или через .join:
params = us_audio_codec, str(chat_id), str(pool_object.get('_id')), \
config.BOT_NAME, str(dutation)
call = ' '.join(params)
Можно использовать передачу словаря или json вместо строки и её парсинга.
Можно использовать двух ботов в одном коде, вместо разделения.
Можно использовать таски asyncio вместо запуска cопрограмм.
Можно использовать .get() в словарях, чтобы не ловить Exception в случае недоступности ключа.
Здесь у тебя дублируется запрос, поэтому и возникает FloodWait:
Вижу, что пример ты брал из документации, однако в методе .start() клиент и так выполняет все действия, необходимые для авторизации.
Если требуется двухфакторка, то необходимо в конфиге указать пароль.
Простой и рабочий пример:
client.connect()
if not client.is_user_authorized():
# client.send_code_request(phone) #при первом запуске - раскомментить, после авторизации для избежания FloodWait советую закомментить
client.sign_in(phone, input('Enter code: '))
client.start()
Вижу, что пример ты брал из документации, однако в методе .start() клиент и так выполняет все действия, необходимые для авторизации.
Если требуется двухфакторка, то необходимо в конфиге указать пароль.
Простой и рабочий пример:
client.connect()
client.start(phone=config.PHONE, password=config.PASSWORD)
Не в этом дело-дело в том, что если не авторизован-можно случайно запросить много раз смс и вызвать flood wait-когда строчка закомментирована-нельзя
авторизация требуется для одной сессии, а когда отлаживаешь на разных машинах — легко случайно на новой машине запросить несколько раз смс, получив блок на сутки — поэтому так вот обезапасил — на новой машине раскомментировал, залогинился, закомментировал
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Telegram боты. Загружаем файлы больше 50мб