Якщо ти хочеш автоматизувати задачі або побудувати повноцінного 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. Ось як їх отримати:
- Зайди на сайт https://my.telegram.org.
- Авторизуйся за допомогою свого Telegram-акаунта.
- Перейдіть у розділ API Development Tools.
- Створи застосунок, вказавши довільну назву та платформу (можна вибрати Desktop).
- У результаті ти отримаєш 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), який можна буде використовувати надалі. Це дозволяє більше не вводити телефон і код при кожному запуску.
Якщо ти бачиш повідомлення "Клієнт успішно підключений!", значить усе налаштовано правильно.
Загальні поради та лайфхаки
- Робота з кількома ключами: якщо плануєш використовувати кілька акаунтів Telegram, зберігай їхні дані в окремих
.env-файлах, наприклад,.env.account1,.env.account2. - Ігноруй файл
.envв Git: додай.envу.gitignore, щоб випадково не відправити свої секретні ключі в публічний репозиторій.Приклад
.gitignore:.env *.session - Оновлюй сесії: Якщо ти забув заблокувати стару сесію в Telegram, використай інтерфейс Telegram (налаштування конфіденційності) для розриву з'єднань.
Тепер у тебе в руках готовий інструмент для роботи з Telegram API. Ти можеш відправляти повідомлення, читати чати, моніторити канали і багато іншого. У наступній лекції ми будемо створювати Telegram-клієнта і розберемося, як взаємодіяти з API на більш глибокому рівні.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ