MAATRIX / Блог / ИИ-бот для Discord на своём VPS

ИИ-бот для Discord на своём VPS

ИИ Discord-бот на VPS: discord.py и умные ответы
Блог MAATRIX · 2026-07-07

Discord-сервер оживает, когда в нём есть умный бот: отвечает на вопросы, модерирует, помогает сообществу. Соберём такого бота на VPS с нуля — с ИИ-мозгом и стабильным аптаймом.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Что умеет ИИ-бот в Discord

Discord-бот с LLM превращает канал в живого ассистента: отвечает на упоминания, обрабатывает слэш-команды, суммирует обсуждения и подсказывает по вашей базе знаний.

Как и Telegram, Discord держит постоянное gateway-соединение, поэтому боту нужен сервер, работающий 24/7. VPS от MAATRIX даёт стабильный IP в UK или США — это важно, поскольку Discord API из некоторых сетей РФ отвечает нестабильно.

Разница с Telegram в основном в API и модели прав. Discord строже относится к тому, что бот может читать: чтобы видеть текст сообщений, нужно явно включить привилегированный интент в панели разработчика. Зато Discord удобнее для сообществ — роли, каналы, треды и слэш-команды дают богатый интерфейс, поверх которого ИИ-ассистент выглядит естественно.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для Discord-бота

Регистрация приложения и токен

Зайдите на Discord Developer Portal, создайте New Application, затем Bot и скопируйте токен. Включите Message Content Intent, если хотите читать текст сообщений. Токен — это фактически пароль бота: если он утёк, немедленно перевыпустите его в панели, иначе чужой код сможет действовать от имени вашего бота.

Пригласите бота на сервер через OAuth2 URL Generator, выбрав scope bot и applications.commands и нужные права (Send Messages, Read Message History).

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.

Установка окружения на VPS

apt update && apt install -y python3 python3-venv git
adduser discordbot
su - discordbot
python3 -m venv ~/venv && source ~/venv/bin/activate
pip install discord.py openai

Библиотека discord.py покрывает и слэш-команды, и обработку сообщений. Для ИИ-части используем OpenAI-совместимый клиент — он подойдёт и для внешнего API, и для локальной Ollama.

Код бота с ИИ-ответами

Бот отвечает, когда его упоминают. Создайте bot.py:

import os, discord
from openai import OpenAI

ai = OpenAI(api_key=os.environ["AI_KEY"],
            base_url=os.environ.get("AI_BASE", "https://api.openai.com/v1"))
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)

@client.event
async def on_message(msg):
    if msg.author == client.user or client.user not in msg.mentions:
        return
    q = msg.content.replace(f"<@{client.user.id}>", "").strip()
    r = ai.chat.completions.create(model="gpt-4o-mini",
        messages=[{"role": "user", "content": q}])
    await msg.reply(r.choices[0].message.content)

client.run(os.environ["DISCORD_TOKEN"])

Для локальной модели поставьте Ollama (curl -fsSL https://ollama.com/install.sh | sh), выполните ollama pull llama3.1:8b и задайте AI_BASE=http://127.0.0.1:11434/v1. Ollama и Discord-бот при этом живут на одном VPS и общаются через localhost, наружу порт модели открывать не нужно.

Чтобы бот отвечал по контексту, а не забывал предыдущую реплику, храните короткую историю по каналу. Но не увлекайтесь длиной контекста: чем больше сообщений вы подмешиваете, тем дольше и дороже ответ. Для сообщества обычно хватает последних 5-10 реплик. Тяжёлые запросы стоит выполнять асинхронно и показывать индикатор набора через async with msg.channel.typing(), чтобы пользователи видели, что бот думает.

Запуск в Docker (опционально)

Docker удобен, если ботов несколько или хотите изолировать зависимости. Простой Dockerfile:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY bot.py .
CMD ["python", "bot.py"]
docker build -t discord-ai .
docker run -d --restart=always \
  -e DISCORD_TOKEN=xxx -e AI_KEY=yyy discord-ai

Стабильность и логи

Через systemd или Docker с --restart=always бот сам поднимется после сбоя. Логи смотрите так:

journalctl -u discordbot -f      # если systemd
docker logs -f <container>         # если Docker
  • PrivilegedIntentsRequired — включите Message Content Intent в портале.
  • Бот молчит на упоминание — проверьте право Send Messages в канале.
  • Rate limit 429 — не спамьте запросами, добавьте очередь.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS для Discord-бота

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Чем Discord-бот отличается от Telegram по хостингу?

Принципиально ничем: обоим нужен постоянно работающий VPS. Отличается только SDK и способ регистрации бота.

Нужен ли зарубежный сервер для Discord?

Желательно. Discord API стабильнее отвечает с зарубежного IP, а VPS MAATRIX стоит в UK, США и РФ.

Можно ли сделать слэш-команды?

Да, discord.py поддерживает app_commands — регистрируете команды через дерево и синхронизируете с сервером.

Сколько стоит такой сервер?

Тарифы MAATRIX начинаются от $8/мес, для API-бота этого достаточно с запасом.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.