Проблема возникает из-за того, что callback функция должна быть асинхронной, чтобы работать с асинхронной очередью. В вашем случае, вы передаете функцию `code_callback`, которая не является асинхронной. Вместо этого, вы можете изменить ваш код следующим образом: 1. Измените вашу функцию `code_callback` на асинхронную: ```python async def code_callback(): code = await auth_code_queue.get() print(f"Получен код авторизации в code_callback: {code}") return code ``` 2. Далее, создайте асинхронную функцию, которая будет вызывать `code_callback`: ```python async def main(): client_obj = TelegramClient(phone_number, api_id, api_hash) await client_obj.start(phone=phone_number, code_callback=code_callback()) asyncio.run(main()) ``` Теперь, при вызове `client_obj.start()`, будет использована асинхронная функция `code_callback`, которая вытягивает код авторизации из очереди. Относительно альтернативных способов обхода авторизации без ручного ввода кода в терминал, вы можете использовать двухфакторную аутентификацию (2FA). При использовании 2FA, вы можете передать сгенерированный код из вашего приложения аутентификации, чтобы авторизоваться. Примерно так: ```python await client_obj.start(phone=phone_number, password=lambda: input('Введите код 2FA: ')) ``` В этом случае, вы будете вводить код 2FA в терминале, но уже не будете зависеть от бота для получения кода авторизации.