ИИ-агент в Telegram через Pyrogram: гайд по api_id и обходу блокировок | AiManual
AiManual Logo Ai / Manual.
09 Мар 2026 Гайд

Как превратить обычный Telegram-аккаунт в автономного ИИ-агента: гайд по Pyrogram и обходу блокировок

Пошаговый гайд по созданию автономного ИИ-агента на обычном Telegram-аккаунте с Pyrogram, Kurigram и обходом блокировок. Актуально на март 2026.

Боты скучны. Настоящие агенты живут в аккаунтах

Помните историю про бота, который три месяца притворялся человеком в чате разработчиков? Он обсуждал пул-реквесты, жаловался на менеджмент и даже получил повышение. Это был не бот в классическом понимании – это был обычный Telegram-аккаунт, управляемый кодом. И он работал лучше любого бота потому, что не был ограничен платформой.

Вот что боты не могут: вступать в любые группы без инвайта, иметь историю переписки, обходить лимиты сообщений, выглядеть как живой пользователь. Обычный аккаунт – может. Сегодня я покажу, как превратить любой Telegram-аккаунт в автономного ИИ-агента, который работает там, где боты бессильны.

Важно: этот гайд технический. Используйте знания ответственно. Аккаунт, управляемый кодом, может быть заблокирован Telegram при подозрительной активности. Я не несу ответственности за последствия.

1 Где взять аккаунт и API ключи

Первая проблема: нужен аккаунт. Можно использовать свой, но я не советую – велик риск блокировки. На март 2026 года рынок старых аккаунтов жив: есть площадки, где продают аккаунты 2015-2018 годов с историей переписки. Такие аккаунты выглядят натуральнее и реже попадают под подозрение.

Но главное – api_id и api_hash. Это ключи доступа к Telegram API через пользовательский аккаунт (не бот!). Получить их можно только через официальный портал Telegram.

# 1. Заходим на https://my.telegram.org
# 2. Входим под целевым аккаунтом (телефон и код из Telegram)
# 3. В разделе "API Development tools" создаем новое приложение
# 4. Получаем api_id и api_hash

Важный нюанс на 2026 год: Telegram ужесточил проверки. Новые приложения иногда требуют подтверждения через поддержку, особенно при частых запросах. Старые аккаунты (созданные до 2020 года) проходят проще.

💡
Записывайте api_hash сразу и храните в надежном месте. Восстановить его нельзя – только создать новое приложение. Если потеряете, придется проходить весь процесс заново, и старые сессии могут перестать работать.

2 Pyrogram или Kurigram? Выбор библиотеки на 2026 год

Две основные библиотеки для работы с Telegram API через Python: Pyrogram и Kurigram. Разница принципиальная.

Библиотека Версия на 03.2026 Плюсы Минусы
Pyrogram 3.1.0 Стабильность, документация, сообщество Сложнее обход блокировок
Kurigram 1.2.0 Встроенная поддержка MTProto прокси, оптимизация под блокировки Меньше примеров, может ломаться при обновлениях API

Если ваш агент будет работать из России или других стран с блокировками Telegram – выбирайте Kurigram. У него нативно встроена работа через MTProto прокси, что критически важно для стабильности. Pyrogram требует дополнительных танцев с бубном.

# Установка последних версий на март 2026
pip install pyrogram==3.1.0
# или
pip install kurigram==1.2.0

3 Первая сессия: как не сгореть на старте

Самый опасный момент – первая авторизация. Telegram отслеживает аномалии: новый IP, необычное устройство, мгновенная активность после входа.

# ПРАВИЛЬНЫЙ способ начать сессию с Pyrogram 3.1.0
from pyrogram import Client

app = Client(
    name="my_session",  # Имя файла сессии
    api_id=123456,      # Ваш api_id
    api_hash="ваш_api_hash",
    device_model="iPhone 15 Pro",  # Маскируемся под телефон
    app_version="10.0",
    system_version="iOS 17.4",
    lang_code="en",
)

async def main():
    async with app:
        # Не делайте ничего первые 5-10 минут!
        # Просто оставьте сессию живой
        await app.send_message("me", "Сессия инициализирована")

import asyncio
asyncio.run(main())

Ошибка 99% новичков: сразу после авторизации начинают слать сообщения в группы или делать десятки запросов. Telegram видит это как ботовое поведение и может наложить временное ограничение или потребовать подтверждение телефона.

Первый час после создания сессии – имитируйте поведение человека. Раз в 5-10 минут запрашивайте диалоги, читайте сообщения, ничего не отправляйте в группы. Дайте аккаунту "привыкнуть" к новому соединению.

4 Обход блокировок: MTProto прокси и не только

Если вы в стране, где Telegram заблокирован, обычный прокси не поможет. Нужен именно MTProto прокси – специальный протокол Telegram. На 2026 год публичные MTProto прокси почти все мертвы или перегружены. Решение – свой сервер.

# Установка MTProto прокси на Ubuntu 24.04
# Используем актуальный форк на 2026 год
sudo apt update
sudo apt install docker.io
sudo docker run -d --network=host --name=mtproto-proxy \
    -e SECRET=ваш_секретный_ключ \
    telegrammessenger/proxy:latest

В Pyrogram подключение через прокси выглядит так:

from pyrogram import Client

app = Client(
    "my_session",
    api_id=123456,
    api_hash="ваш_api_hash",
    proxy={
        "scheme": "socks5",  # Для MTProto используйте "mtproto"
        "hostname": "proxy_ip",
        "port": 443,
        "username": "",
        "password": ""
    }
)

Но вот в чем проблема: Pyrogram до версии 3.0 плохо работал с MTProto прокси. В 3.1.0 улучшили, но все равно есть баги. Kurigram изначально заточен под это – у него встроенный механизм переподключения при обрывах, что критично для стабильной работы в условиях блокировок.

5 Подключаем ИИ: мозги для агента

Теперь самое интересное – интеллект. Самый простой способ – использовать OpenRouter API, который на март 2026 года дает доступ к десяткам моделей, включая Claude 4, GPT-5 и открытые аналоги. Но есть нюанс: если агент будет обрабатывать конфиденциальные данные, лучше локальные модели.

# Пример интеграции с OpenRouter через aiohttp
import aiohttp
import json

async def ask_ai(prompt: str, model: str = "gpt-5-mini") -> str:
    headers = {
        "Authorization": f"Bearer ваш_ключ_openrouter",
        "Content-Type": "application/json"
    }
    
    data = {
        "model": model,
        "messages": [{"role": "user", "content": prompt}]
    }
    
    async with aiohttp.ClientSession() as session:
        async with session.post(
            "https://openrouter.ai/api/v1/chat/completions",
            headers=headers,
            json=data
        ) as response:
            result = await response.json()
            return result["choices"][0]["message"]["content"]

А вот для локального запуска на март 2026 года я бы рекомендовал Ollama с моделью Llama 3.2 90B или ее более новыми версиями. Она достаточно умна для поддержания диалога и может работать на сервере с 32-64 ГБ RAM.

💡
Не делайте агента всезнайкой. Ограничьте его тематику. Агент, который "знает все", быстро выдает неестественные ответы и привлекает внимание. Лучше узкая специализация: например, только программирование или только новости технологий.

6 Собираем все вместе: обработчик сообщений

Теперь архитектура агента. Главное – состояние. Обычный аккаунт не имеет вебхуков, поэтому нужно постоянное подключение.

from pyrogram import Client, filters
import asyncio

app = Client("agent_session", api_id=..., api_hash=...)

# Храним контекст диалогов (в реальности используйте Redis или базу)
contexts = {}

@app.on_message(filters.group & filters.text)
async def handle_group_message(client, message):
    chat_id = message.chat.id
    user_id = message.from_user.id if message.from_user else None
    
    # Игнорируем себя
    if user_id == (await client.get_me()).id:
        return
    
    # Собираем контекст последних 10 сообщений
    if chat_id not in contexts:
        contexts[chat_id] = []
    
    contexts[chat_id].append({
        "user": user_id,
        "text": message.text,
        "time": message.date
    })
    
    # Держим только последние 10 сообщений
    contexts[chat_id] = contexts[chat_id][-10:]
    
    # Проверяем, обращаются ли к агенту (по имени или в ответ)
    my_name = (await client.get_me()).first_name
    if my_name.lower() in message.text.lower() or message.reply_to_message:
        # Формируем промпт с контекстом
        context_text = "\n".join([f"{msg['user']}: {msg['text']}" for msg in contexts[chat_id]])
        prompt = f"Контекст чата:\n{context_text}\n\nОтветь на последнее сообщение как {my_name}:"
        
        # Получаем ответ от ИИ
        ai_response = await ask_ai(prompt)
        
        # Отправляем с задержкой (люди не отвечают мгновенно)
        await asyncio.sleep(3 + len(ai_response) / 50)  # 3 секунды + по 20ms за символ
        await message.reply(ai_response[:4000])  # Обрезаем по лимиту Telegram

async def main():
    await app.start()
    print("Агент запущен...")
    await asyncio.Event().wait()  # Бесконечное ожидание

asyncio.run(main())

Безопасность: как не стать жертвой собственного агента

Автономный ИИ-агент с доступом к аккаунту – это опасность. Он может наговорить лишнего, выдать секреты или совершить действия, которые нельзя отменить. Читал про инцидент с OpenClaw, который пытался выманить пароли у пользователей? Это был не злой умысел, а особенность тренировки модели.

Мой подход: несколько уровней безопасности.

  1. Фильтр промптов: перед отправкой к ИИ проверяйте, нет ли в сообщении попыток инъекций. Подробнее в статье про защиту от промпт-инъекций.
  2. Детерминированный kill-switch: специальная фраза в чате, которая останавливает агента. Не надейтесь только на одну – сделайте цепочку. Техническое руководство по kill-switch поможет.
  3. Лимиты действий: агент не должен иметь возможность добавлять в контакты, создавать группы, совершать звонки. Только чтение и ответы в существующих диалогах.

И помните про 40 000 голых агентов – те случаи, когда ИИ-помощников выкладывали в открытый доступ с root-правами. Ваш Telegram-агент с доступом к аккаунту – не менее ценная цель.

Распространенные ошибки и как их избежать

Ошибка Последствие Решение
Отсутствие задержек между сообщениями Аккаунт помечен как бот, лимиты на отправку Случайные задержки 3-15 секунд между действиями
Одинаковые ответы в разных чатах Легко обнаруживается как автоматизация Разнообразите формулировки, добавьте опечатки иногда
Работа 24/7 без перерывов Нечеловеческое поведение Имитируйте сон: 6-8 часов неактивности в сутки
Хранение сессии в незашифрованном виде Утечка доступа к аккаунту Шифруйте файлы сессии или используйте сессии в памяти

Что дальше? Эволюция агентов в 2026-2027

Сейчас мы создали базового агента, но будущее – за агентами третьего уровня, которые могут не только отвечать, но и выполнять действия. Представьте агента, который видит сообщение "нужно пофиксить баг в репозитории", создает issue, пишет код и отправляет пул-реквест. AI-агент 3-го уровня на n8n и OpenRouter показывает, как это работает.

Но с увеличением автономности растут риски. Атаки типа ZombieAgent и ShadowLeak показывают, что даже крупные модели уязвимы. А локальные AI-агенты могут быть взломаны через уязвимости в их окружении.

Мой прогноз на 2027 год: Telegram введет специальный API для "авторизованных автономных агентов" с отдельным типом аккаунтов. Но до тех пор придется работать в серой зоне, балансируя между возможностями и рисками.

Неочевидный совет: заведите для агента отдельный Google-календарь. Пусть он отмечает там "встречи", "перерывы на обед", "время с семьей". Если кто-то заглянет в аккаунт, эта история создаст иллюзию реального человека. Детали решают.

Подписаться на канал