раздел 03

Вариант 2: на сервере (сложнее)

Локальный вариант живёт, пока включён твой компьютер. Если помощник должен реагировать всегда - например, ставить автоответы круглосуточно - его переносят на сервер. Это дороже и требует навыков, зато он онлайн 24/7 и не зависит от твоего ноутбука.

1
Арендуй VPS
VPS - это виртуальный сервер в аренду. Недорогого хватит: помощнику нужно немного ресурсов.
2
Поставь Docker
Docker запускает помощника в контейнере - изолированной коробке, которую легко поднять и перенести.
3
Перенеси код и сессию
Тот же скрипт на Telethon, что и локально, плюс файл сессии. Сессию переноси безопасно, не через открытые каналы.
4
Настрой обработчики
На сервере помощник обычно не по расписанию, а слушает новые сообщения и реагирует сразу.
5
Включи логи
Чтобы видеть, что помощник делал: на какие сообщения отвечал, что переслал, где ошибся.

Обработчики новых сообщений

Главное отличие от локального запуска - помощник работает не «раз в день по расписанию», а постоянно слушает входящие. В Telethon за это отвечают обработчики событий (events): ты описываешь «когда приходит новое сообщение с такими признаками - сделай вот это», и помощник срабатывает сразу.

from telethon import TelegramClient, events

client = TelegramClient("my.session", API_ID, API_HASH)  # плейсхолдеры

@client.on(events.NewMessage(incoming=True))
async def handler(event):
    text = (event.raw_text or "").lower()
    # пример: вне рабочего времени отвечать вежливым автоответом
    if "срочно" in text:
        await event.reply("Вижу, отвечу в рабочие часы.")

client.start()
client.run_until_disconnected()

Из России - через прокси

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

Связка с LLM

На сервере удобно подключить к помощнику языковую модель (LLM) по API - тогда он не просто фильтрует по словам, а понимает смысл: решает, важное ли сообщение, что ответить, что суммировать. Как это устроено - в главе Правила и ИИ внутри. Если API модели не открывается из России, его тоже пускают через прокси.

Плюсы и минусы

Плюсы: всегда онлайн
Реагирует на сообщения круглосуточно, не зависит от твоего компьютера. Есть логи и стабильная работа.
Минусы: сложнее и платно
Нужен сервер (платно) и навыки: Docker, доступ по SSH, иногда прокси. Файл сессии живёт на чужой машине - охраняй его.

Смежные темы