Да, вы можете изменить код вашей программы на Python с использованием библиотеки Telethon, чтобы считывать номер телефона из файла `valet.txt`, а не запрашивать его у пользователя. Ниже приведен пример кода, который будет это делать:
```python
from telethon import TelegramClient
# Укажите ваши данные
api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'
# Считываем номер телефона из файла valet.txt
def get_last_phone_number(filename='valet.txt'):
try:
with open(filename, 'r') as file:
lines = file.readlines()
# Убираем возможные пробелы и пустые строки
phone_numbers = [line.strip() for line in lines if line.strip()]
# Если есть номера в файле, возвращаем последний
if phone_numbers:
return phone_numbers[-1] # Берем последний номер
else:
raise ValueError("Файл пуст.")
except FileNotFoundError:
raise FileNotFoundError(f"Файл {filename} не найден.")
except Exception as e:
raise e
if __name__ == "__main__":
# Получаем номер телефона
phone_number = get_last_phone_number()
# Создаем экземпляр клиента
client = TelegramClient('session_name', api_id, api_hash)
async def main():
await client.start(phone=phone_number)
print("Успешно авторизованы!")
with client:
client.loop.run_until_complete(main())
```
### Примечания:
1. Убедитесь, что в файле `valet.txt` находятся номера телефонов, каждый с новой строки.
2. Замените `YOUR_API_ID` и `YOUR_API_HASH` на ваши собственные значения, которые можно получить в [my.telegram.org](https://my.telegram.org).
3. Код будет пытаться считать последний номер телефона из файла и использовать его для авторизации. Если файла не существует или в нем нет телефонов, вы получите соответствующее сообщение об ошибке.
4. Используйте асинхронный контекстный менеджер для работы с клиентом Telethon, чтобы корректно управлять подключением.