ИИ-бот в Telegram на своём VPS: полный запуск
Telegram-бот с искусственным интеллектом — самый быстрый способ дать пользователям умный чат. Разберём два пути: подключение к API и собственная локальная модель, оба на VPS под вашим контролем.
Содержание
Почему бот живёт на VPS, а не на ноутбуке
['Telegram-бот в режиме long polling должен работать круглосуточно: закрыли ноутбук — бот замолчал. VPS даёт постоянный аптайм, белый IP и предсказуемую задержку ответа.', 'Ещё одна причина — доступ к API. Многие ИИ-провайдеры и Telegram лучше работают с зарубежного IP. VPS в локациях UK и США у MAATRIX решает это из коробки, а оплатить сервер можно картой РФ, через СБП или криптой.', '- Аптайм 24/7 — бот всегда на связи
- Зарубежный IP — доступ к ИИ-API без прослоек
- Root и контроль — ставите любые библиотеки и модели
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для ИИ-ботаПодготовка сервера
['Возьмите минимальный тариф (для API-режима хватит 1-2 vCPU и 2 ГБ RAM). Обновите систему и поставьте Python с виртуальным окружением. Отдельный пользователь без root-прав для бота — хорошая привычка: если код скомпрометируют, злоумышленник не получит весь сервер.', 'apt update && apt upgrade -y\napt install -y python3 python3-venv python3-pip git\nadduser botuser\nsu - botuser\npython3 -m venv ~/venv\nsource ~/venv/bin/activate\npip install python-telegram-bot openai', 'Токен бота получите у @BotFather в Telegram командой /newbot и сохраните — он понадобится в конфиге.']
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Вариант 1: бот на внешнем ИИ-API
['Самый лёгкий по ресурсам путь. Бот пересылает сообщение пользователя в OpenAI-совместимый эндпоинт и возвращает ответ. Создайте файл bot.py:', 'import os\nfrom telegram.ext import ApplicationBuilder, MessageHandler, filters\nfrom openai import OpenAI\n\nclient = OpenAI(api_key=os.environ["AI_KEY"],\n base_url=os.environ.get("AI_BASE", "https://api.openai.com/v1"))\n\nasync def reply(update, ctx):\n r = client.chat.completions.create(\n model="gpt-4o-mini",\n messages=[{"role": "user", "content": update.message.text}])\n await update.message.reply_text(r.choices[0].message.content)\n\napp = ApplicationBuilder().token(os.environ["TG_TOKEN"]).build()\napp.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, reply))\napp.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\nollama pull qwen2.5:3b\nollama 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]\nDescription=Telegram AI Bot\nAfter=network.target\n\n[Service]\nUser=botuser\nEnvironment=TG_TOKEN=xxx\nEnvironment=AI_KEY=yyy\nExecStart=/home/botuser/venv/bin/python /home/botuser/bot.py\nRestart=always\n\n[Install]\nWantedBy=multi-user.target', 'systemctl daemon-reload\nsystemctl enable --now tgbot\njournalctl -u tgbot -f']
Частые ошибки
['- Conflict: terminated by other getUpdates — запущено два экземпляра бота, оставьте один.
- Ключи в git — используйте переменные окружения и .gitignore.
- Нехватка RAM у локальной модели — процесс убивает OOM killer; берите модель поменьше или тариф побольше.
- Таймауты к API — проверьте, что IP сервера имеет доступ к провайдеру ИИ.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для ИИ-ботаНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Сколько ресурсов нужно для Telegram ИИ-бота?
Для API-режима достаточно 1-2 vCPU и 2 ГБ RAM. Для локальной модели 3-7B ориентируйтесь на 8-16 ГБ RAM.
Можно ли обойтись без внешнего API?
Да, через Ollama модель работает целиком на вашем VPS, и данные пользователей не уходят наружу.
Как оплатить сервер из России?
MAATRIX принимает карты РФ, СБП, криптовалюту и токен MAAT, а сервер стоит в UK или США.
Нужен ли домен для Telegram-бота?
Для long polling — нет. Домен и HTTPS нужны только если переходите на webhook.