JavaRush /Курсы /Модуль 4: FastAPI /Установка Telethon и настройка проекта

Установка Telethon и настройка проекта

Модуль 4: FastAPI
19 уровень , 1 лекция
Открыта

Если вы хотите автоматизировать задачи или построить полноценного Telegram-бота, который умеет всё — от мониторинга чатов до управления каналами — вы не сможете обойтись без клиентской библиотеки для взаимодействия с Telegram API. Telethon идеально подходит для таких задач благодаря своему асинхронному характеру.

Пример реального применения: Написание скрипта, который автоматически отправляет важные уведомления сотрудникам компании в их Telegram-группу, либо мониторинг деятельности в канале и сбор аналитики.


Установка Telethon

Шаг 1: Установка библиотеки через pip

Для начала работы необходимо установить библиотеку Telethon. Ничего сложного, просто открываем терминал и вводим:

pip install telethon

Но подождите, это ещё не всё! Как говорится: «Установил зависимость? А ты её обновить не забыл?» Обязательно обновите pip перед установкой, чтобы избежать проблем с версией библиотек:

pip install --upgrade pip

Через пару секунд (или больше, если ваш интернет просыпается медленно, как и большинство программистов утром) библиотека окажется у вас на компьютере.

Шаг 2: Убедитесь, что всё работает

Чтобы убедиться, что установка прошла успешно, зайдите в Python-консоль и попробуйте импортировать библиотеку:


from telethon import TelegramClient
print("Telethon успешно установлен!")

Если эта команда не вывела ошибку, поздравляю, вы молодец! Идём дальше.


Настройка проекта

Теперь мы перейдём к созданию проекта и настройке API-ключей, потому что без этого вам даже не достучаться до Telegram-серверов.

Шаг 1: Создаём структуру проекта

Создайте папку вашего проекта. Пусть на этот раз он будет называться telegram_project. Всё просто:

mkdir telegram_project
cd telegram_project

Теперь внутри создадим базовую структуру:

.
├── main.py           # Основной файл с кодом
├── config.py         # Конфигурации и настройки
└── .env              # Секретные ключи (API ID и API Hash)

Почему так? Разделение кода на файлы помогает поддерживать чистоту в проекте. К тому же хранение секретных данных в .env — это хорошая практика безопасности.

Установите библиотеку для работы с .env:

pip install python-dotenv

Шаг 2: Получаем API ID и API Hash

Telegram API требует от вас аутентификации с помощью пары ключей: API ID и API Hash. Вот как их получить:

  1. Зайдите на сайт https://my.telegram.org.
  2. Авторизуйтесь с помощью своего Telegram-аккаунта.
  3. Перейдите в раздел API Development Tools.
  4. Создайте приложение, указав произвольное название и платформу (можно выбрать Desktop).
  5. В результате вы получите API ID и API Hash.

Пример данных, которые вы получите:

API ID: 123456
API Hash: abcdef1234567890abcdef1234567890

Шаг 3: Настраиваем .env файл

Создайте файл .env в корне проекта и добавьте туда ваши ключи:

API_ID=123456
API_HASH=abcdef1234567890abcdef1234567890
SESSION_NAME=telegram_session

Важно! Никогда не храните ключи прямо в основном коде. Это не только плохой стиль, но и угроза безопасности (особенно если вы выкладываете проект на GitHub).

Шаг 4: Настраиваем config.py

Теперь создадим модуль для чтения данных из .env. Это будет наш config.py:


import os
from dotenv import load_dotenv

# Загружаем переменные окружения из .env
load_dotenv()

API_ID = int(os.getenv("API_ID"))
API_HASH = os.getenv("API_HASH")
SESSION_NAME = os.getenv("SESSION_NAME", "default")

Шаг 5: Создаём клиента

Теперь мы готовы создать клиента в файле main.py. Вот минимальный пример рабочей конфигурации:


from telethon import TelegramClient
from config import API_ID, API_HASH, SESSION_NAME

# Создаём клиента Telegram
client = TelegramClient(SESSION_NAME, API_ID, API_HASH)

async def main():
    # Подключение клиента
    await client.start()
    print("Клиент успешно подключен!")

with client:
    client.loop.run_until_complete(main())

Шаг 6: Проверяем подключение

Запустите main.py:

python main.py

При первом запуске Telethon запросит ваш номер телефона и проверочный код, который придёт в Telegram. После авторизации создаться локальный файл сессии (например, telegram_session.session), который можно будет использовать в дальнейшем. Это позволяет больше не вводить телефон и код при каждом запуске.

Если вы видите сообщение "Клиент успешно подключен!", значит всё настроено верно.

Общие советы и таймсейверы

  1. Работа с несколькими ключами: если вы планируете использовать несколько аккаунтов Telegram, храните их данные в отдельных .env файлах, например, .env.account1, .env.account2.
  2. Игнорируйте файл .env в Git: добавьте .env в .gitignore, чтобы случайно не отправить свои секретные ключи в публичный репозиторий.

    Пример .gitignore:

    .env
    *.session
    
  3. Обновляйте сессии: Если вы забыли заблокировать старую сессию в Telegram, используйте интерфейс Telegram (настроек конфиденциальности) для разрыва соединений.

Теперь у вас в руках готовый инструмент для работы с Telegram API. Вы можете отправлять сообщения, читать чаты, мониторить каналы и многое другое. В следующей лекции мы будем создавать Telegram-клиента и разберёмся, как взаимодействовать с API на более глубоком уровне.

1
Задача
Модуль 4: FastAPI, 19 уровень, 1 лекция
Недоступна
Установка Telethon
Установка Telethon
1
Задача
Модуль 4: FastAPI, 19 уровень, 1 лекция
Недоступна
Настройка конфигурации проекта
Настройка конфигурации проекта
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ