При авторизации telethon запрашивает в терминале номер и код подтверждения. Можно ли как то автоматизировать этот процесс и использовать переменные?

Да, с помощью Telethon можно автоматизировать процесс авторизации, чтобы не запрашивать номер и код подтверждения вручную каждый раз. Для этого можно использовать переменные, чтобы хранить и передавать информацию.

Сначала необходимо установить Telethon, если вы еще этого не сделали. Выполните команду pip install telethon в командной строке.

Далее, вам понадобится ввести необходимую информацию в переменные. Вы можете сделать это вручную, например:

api_id = 12345  # ваш API ID
api_hash = 'abcdefghijklmnopqrstuvwxyz'  # ваш API Hash
number = '+1234567890'  # ваш номер телефона

Однако, для безопасности рекомендуется скрыть эти данные, используя переменные окружения или файл конфигурации.

Пример использования переменных окружения:

import os

api_id = int(os.environ.get('API_ID'))
api_hash = os.environ.get('API_HASH')
number = os.environ.get('PHONE_NUMBER')

Использование файла конфигурации:

import configparser

config = configparser.ConfigParser()
config.read('config.ini')

api_id = int(config['Telegram']['API_ID'])
api_hash = config['Telegram']['API_HASH']
number = config['Telegram']['PHONE_NUMBER']

После того, как у вас есть все необходимые переменные, вы можете использовать их для авторизации в Telethon:

from telethon.sync import TelegramClient

with TelegramClient('session_name', api_id, api_hash) as client:
    client.send_code_request(number)
    code = input('Введите полученный код подтверждения: ')
    client.sign_in(number, code)

В этом примере мы создаем клиент Telegram с заданным session_name (это имя, которое позволяет сохранять данные сеанса авторизации, чтобы вам не нужно было вводить номер и код подтверждения каждый раз).
Затем мы отправляем запрос кода подтверждения на заданный number.
Затем мы запрашиваем пользователя ввести код подтверждения, который они получили, и вызываем функцию sign_in, чтобы завершить процесс авторизации.

Теперь вы можете использовать этот client для выполнения различных действий в Telegram, таких как отправка сообщений, чтение чатов и т. д.

Помимо этого, Telethon также позволяет авторизовываться через сессии, что упрощает процесс авторизации и позволяет повторно использовать ранее сохраненные данные о сеансе. Вы можете найти больше информации в документации Telethon.