ИИ-бот в Telegram на своём VPS: полный запуск
Telegram-бот с искусственным интеллектом — самый быстрый способ дать пользователям умный чат. Разберём два пути: подключение к API и собственная локальная модель, оба на VPS под вашим контролем.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Почему бот живёт на VPS, а не на ноутбуке
Telegram-бот в режиме long polling должен работать круглосуточно: закрыли ноутбук — бот замолчал. VPS даёт постоянный аптайм, белый IP и предсказуемую задержку ответа.
Ещё одна причина — доступ к API. Многие ИИ-провайдеры и Telegram лучше работают с зарубежного IP. VPS в локациях UK, США и РФ у MAATRIX решает это из коробки, а оплатить сервер можно картой РФ, через СБП или криптой.
- Аптайм 24/7 — бот всегда на связи
- Зарубежный IP — доступ к ИИ-API без прослоек
- Root и контроль — ставите любые библиотеки и модели
Отдельно про два режима работы, между которыми предстоит выбрать. Первый — бот обращается к внешнему ИИ-API: он лёгкий по ресурсам, стартует за минуты, но каждый ответ стоит токенов и уходит на сторону провайдера. Второй — локальная модель прямо на сервере: платите только за аренду VPS, данные пользователей никуда не утекают, но нужен тариф помощнее. В статье разберём оба, чтобы вы выбрали под свою задачу и бюджет.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для ИИ-ботаПодготовка сервера
Возьмите минимальный тариф (для API-режима хватит 1-2 vCPU и 2 ГБ RAM). Обновите систему и поставьте Python с виртуальным окружением. Отдельный пользователь без root-прав для бота — хорошая привычка: если код скомпрометируют, злоумышленник не получит весь сервер.
apt update && apt upgrade -y
apt install -y python3 python3-venv python3-pip git
adduser botuser
su - botuser
python3 -m venv ~/venv
source ~/venv/bin/activate
pip install python-telegram-bot openai
Токен бота получите у @BotFather в Telegram командой /newbot и сохраните — он понадобится в конфиге.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Вариант 1: бот на внешнем ИИ-API
Самый лёгкий по ресурсам путь. Бот пересылает сообщение пользователя в OpenAI-совместимый эндпоинт и возвращает ответ. Создайте файл bot.py:
import os
from telegram.ext import ApplicationBuilder, MessageHandler, filters
from openai import OpenAI
client = OpenAI(api_key=os.environ["AI_KEY"],
base_url=os.environ.get("AI_BASE", "https://api.openai.com/v1"))
async def reply(update, ctx):
r = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": update.message.text}])
await update.message.reply_text(r.choices[0].message.content)
app = ApplicationBuilder().token(os.environ["TG_TOKEN"]).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, reply))
app.run_polling()
Ключи задавайте переменными окружения, а не в коде — так их не утащат из репозитория. Модель gpt-4o-mini в примере условна: подставьте ту, что даёт ваш провайдер. Библиотека openai работает с любым OpenAI-совместимым эндпоинтом, поэтому смена провайдера сводится к правке base_url и названия модели, а не к переписыванию логики бота.
Обратите внимание на фильтр filters.TEXT & ~filters.COMMAND: бот реагирует на обычные сообщения, но не перехватывает команды вроде /start. Команды удобно завести отдельными хендлерами — приветствие, help, сброс контекста. Историю диалога для связных ответов храните в словаре по chat_id или в Redis, если пользователей много.
Вариант 2: локальная модель через Ollama
Если данные не должны уходить наружу или хочется работать без оплаты токенов — поднимите модель прямо на VPS через Ollama. base_url меняется на локальный адрес, код бота почти не трогается.
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:3b
ollama serve &
В bot.py укажите AI_BASE=http://127.0.0.1:11434/v1 и модель qwen2.5:3b. Для комфортной работы модели 3-7B берите тариф с 8-16 ГБ RAM; AMD EPYC + NVMe у MAATRIX держат инференс на CPU без просадок на диске.
Автозапуск через systemd
Чтобы бот поднимался после перезагрузки и сам перезапускался при сбое, оформите его как systemd-сервис. Создайте /etc/systemd/system/tgbot.service:
[Unit]
Description=Telegram AI Bot
After=network.target
[Service]
User=botuser
Environment=TG_TOKEN=xxx
Environment=AI_KEY=yyy
ExecStart=/home/botuser/venv/bin/python /home/botuser/bot.py
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tgbot
journalctl -u tgbot -f
Частые ошибки
- Conflict: terminated by other getUpdates — запущено два экземпляра бота, оставьте один.
- Ключи в git — используйте переменные окружения и .gitignore.
- Нехватка RAM у локальной модели — процесс убивает OOM killer; берите модель поменьше или тариф побольше.
- Таймауты к API — проверьте, что IP сервера имеет доступ к провайдеру ИИ.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS для ИИ-ботаОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Сколько ресурсов нужно для Telegram ИИ-бота?
Для API-режима достаточно 1-2 vCPU и 2 ГБ RAM. Для локальной модели 3-7B ориентируйтесь на 8-16 ГБ RAM.
Можно ли обойтись без внешнего API?
Да, через Ollama модель работает целиком на вашем VPS, и данные пользователей не уходят наружу.
Как оплатить сервер из России?
MAATRIX принимает карты РФ, СБП, криптовалюту и токен MAAT, а сервер стоит в UK или США.
Нужен ли домен для Telegram-бота?
Для long polling — нет. Домен и HTTPS нужны только если переходите на webhook.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.