Chat GPT commands в Discord — это команды бота, через которые участники сервера обращаются к нейросети прямо в чате: текстовая команда !chat или слэш-команда /ask. Чтобы они заработали, нужны три вещи: приложение в Discord Developer Portal, ключ OpenAI API и около 40 строк кода на Python. Ниже — весь путь по актуальной документации 2026 года.

Главное в двух словах:

  • Бот создаётся на портале разработчиков Discord кнопкой New Application — отдельная кнопка «Add Bot» больше не нужна, бот-пользователь появляется автоматически.
  • Токен бота показывается один раз: на вкладке Bot жмёте Reset Token и сразу сохраняете значение.
  • Без включённого Message Content Intent команды с префиксом вида !chat молчат — это самая частая причина «бот не отвечает».
  • Код из гайдов 2023 года не запустится: OpenAI отключила интерфейс openai.Completion и модели серии text-davinci, рабочий синтаксис — client.chat.completions.create() из SDK openai 1.x.

Что понадобится для подключения Chat GPT к Discord

Список короткий, всё бесплатно, кроме запросов к OpenAI API:

  • Аккаунт Discord и сервер, где у вас есть право приглашать ботов (право Manage Server).
  • Ключ OpenAI API — создаётся в личном кабинете OpenAI. Запросы к API тарифицируются по токенам отдельно от подписки ChatGPT Plus.
  • Python 3.9 или новее и две библиотеки: discord.py для работы с Discord API и openai — официальный SDK.

Если задача проще — например, слать в канал уведомления без всякого ИИ, — бот не нужен: хватит вебхука. Как его настроить за пять минут, разобрали в гайде «Как создать вебхуки Discord».

ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК нейросети DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросети DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
  • Где и как применять? Потестируем модель после установки на разных задачах
  • Как дообучить модель под себя?

Создание бота в Discord Developer Portal: четыре шага

Путь создания бота в Discord Developer Portal: от New Application до ссылки-приглашения
Путь создания бота в Discord Developer Portal: от New Application до ссылки-приглашения

Интерфейс портала за последние годы поменялся, поэтому сверяем каждый шаг с официальной документацией Discord для разработчиков.

Шаг 1. Создайте приложение

Откройте портал разработчиков по адресу discord.com/developers/applications, войдите под своим аккаунтом Discord и нажмите New Application. Задайте имя — его увидят участники сервера. Бот-пользователь у нового приложения включён по умолчанию: в документации Discord это зафиксировано прямо — «Newly-created apps have a bot user enabled by default». Искать кнопку «Add Bot», как в старых инструкциях, не нужно.

Кнопка New Application на портале разработчиков Discord

Шаг 2. Получите токен бота

Перейдите на вкладку Bot в меню слева. В секции Token нажмите Reset Token и скопируйте полученную строку в надёжное место. Повторно посмотреть токен нельзя — только сгенерировать заново, о чём портал предупреждает при копировании. Токен даёт полный доступ к боту, поэтому его не публикуют в коде на GitHub и не отправляют в чаты.

Шаг 3. Включите Message Content Intent

На той же вкладке Bot прокрутите до секции Privileged Gateway Intents и включите переключатель Message Content Intent. Это привилегированное разрешение: без него бот не видит текст сообщений, и команды с префиксом вида !chat работать не будут — документация discord.py называет этот случай прямо: интент нужен для «the commands extension with a non-mentioning prefix». Там же есть важная оговорка: включить интент на портале мало, его надо продублировать в коде — это сделаем в следующем разделе.

Шаг 4. Пригласите бота на сервер

Откройте страницу Installation в меню слева. В секции Install Link выберите Discord Provided Link, а в Default Install Settings добавьте для установки на сервер два scope — bot и applications.commands. При выборе bot появится меню Permissions: для нашего сценария достаточно прав Send Messages и Read Message History. Скопируйте готовую ссылку Install Link, откройте её в браузере и выберите свой сервер. После подтверждения бот появится в списке участников — пока офлайн, потому что код мы ещё не запустили.

Код бота: подключаем Chat GPT к Discord на Python

Установите обе библиотеки одной командой в терминале:

pip install -U discord.py openai

Дальше — полный рабочий файл бота. Синтаксис запросов к OpenAI взят из официального репозитория openai-python: клиент OpenAI(), метод client.chat.completions.create(), роль developer для системной инструкции.

import asyncio

import discord
from discord.ext import commands
from openai import OpenAI

ai = OpenAI(api_key="YOUR_OPENAI_API_KEY")

intents = discord.Intents.default()
intents.message_content = True  # дублируем интент из портала в коде

bot = commands.Bot(command_prefix="!", intents=intents)


def ask_gpt(text: str) -> str:
    completion = ai.chat.completions.create(
        model="gpt-5.5",
        messages=[
            {"role": "developer", "content": "Ты помощник Discord-сервера. Отвечай коротко и по делу."},
            {"role": "user", "content": text},
        ],
    )
    return completion.choices[0].message.content


@bot.event
async def on_ready():
    await bot.tree.sync()  # регистрируем слэш-команды
    print(f"Бот {bot.user} запущен")


@bot.command()
async def chat(ctx, *, message: str):
    """Префикс-команда: !chat ваш вопрос"""
    async with ctx.typing():
        answer = await asyncio.to_thread(ask_gpt, message)
    for i in range(0, len(answer), 2000):
        await ctx.send(answer[i:i + 2000])


@bot.tree.command(name="ask", description="Задать вопрос Chat GPT")
async def ask(interaction: discord.Interaction, question: str):
    """Слэш-команда: /ask"""
    await interaction.response.defer()
    answer = await asyncio.to_thread(ask_gpt, question)
    await interaction.followup.send(answer[:2000])


bot.run("YOUR_DISCORD_BOT_TOKEN")

Перед запуском замените YOUR_DISCORD_BOT_TOKEN на токен из шага 2, а YOUR_OPENAI_API_KEY — на ключ OpenAI. В боевом проекте ключи выносят из кода: README openai-python рекомендует хранить их в файле .env через python-dotenv, чтобы секреты не попали в систему контроля версий. Запускается бот обычной командой python bot.py — после строки «Бот … запущен» он появится в сети на сервере.

Три момента в коде, на которых чаще всего спотыкаются:

  • Интенты в коде обязательны. Строка intents.message_content = True дублирует переключатель из портала. Уберёте её — префикс-команды перестанут отвечать без единой ошибки в консоли.
  • Запрос к OpenAI — блокирующий. Обёртка asyncio.to_thread() уводит его в отдельный поток, чтобы бот не «замерзал» для всех, пока нейросеть думает над одним вопросом.
  • Ответ режется на куски по 2000 символов — это лимит одного сообщения Discord. Без нарезки длинный ответ нейросети уронит отправку.

Команды Chat GPT в Discord: префикс или слэш

Как ходит запрос: от команды в чате до ответа нейросети
Как ходит запрос: от команды в чате до ответа нейросети

В коде выше две команды нарочно: !chat показывает классический подход, /ask — современный. Разница принципиальная:

Критерий Префикс-команда !chat Слэш-команда /ask
Как вызывается Текстом в канале: !chat вопрос Из меню Discord по нажатию «/»
Message Content Intent Обязателен Не нужен
Подсказки и автодополнение Нет, синтаксис надо помнить Discord сам показывает команду и поля
Регистрация Работает сразу после запуска Нужен bot.tree.sync(), список обновляется с задержкой
Ограничение времени ответа Нет 3 секунды на реакцию, поэтому в коде стоит defer()

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

Ту же связку Python и OpenAI API можно развивать дальше — например, озвучивать ответы бота: как гнать текст в речь потоком, показали в статье о потоковой передаче из API преобразования текста в речь.

Почему инструкции 2023 года не работают

Если вы уже пробовали собрать такого бота по старому гайду и получили ошибки — дело не в вас. С 2023 года сломались сразу четыре вещи:

  • Кнопки «Add Bot» больше нет. Бот-пользователь создаётся вместе с приложением автоматически, шаг из старых инструкций просто исчез из интерфейса.
  • Токен нельзя скопировать повторно. Вместо постоянной кнопки Copy на вкладке Bot теперь Reset Token: значение показывается один раз, дальше — только перегенерация.
  • Интерфейс openai.Completion.create() и модели text-davinci отключены. Старый вызов падает с ошибкой уже при обращении к API. Актуальный синтаксис — client.chat.completions.create() с списком messages, как в коде выше.
  • commands.Bot(command_prefix="!") без аргумента intents не запустится. В discord.py 2.x интенты — обязательный параметр конструктора, а Message Content Intent к тому же включается на портале вручную.

Вывод простой: любой гайд по интеграции нейросетей проверяйте на свежесть кода, интерфейсы меняются быстрее статей.

Готовые боты с Chat GPT: когда код не нужен

Если писать код не хочется, в каталогах вроде top.gg есть готовые боты с ИИ — их приглашают на сервер парой кликов, а общение идёт через те же слэш-команды: /chat для вопроса, /reset для сброса контекста беседы. Плата за это — ограничения: бесплатные лимиты сообщений, чужой системный промпт, реклама в ответах и невозможность научить бота своим правилам. Свой бот на Python снимает все эти рамки: вы сами выбираете модель, формулируете системную инструкцию и платите OpenAI только за фактические запросы. Наглядный пример тонкой настройки поведения — промты для бота в роли разработчика плагинов Minecraft: та же механика ролей, что в нашем параметре messages.

Частые вопросы о командах Chat GPT в Discord

Почему бот не отвечает на команду !chat?

В девяти случаях из десяти не включён Message Content Intent. Проверьте три места: переключатель Message Content Intent на вкладке Bot портала разработчиков, строку intents.message_content = True в коде и право бота писать в этот канал. После изменения интентов на портале бота нужно перезапустить.

Можно ли добавить Chat GPT в Discord без программирования?

Да, через готовых ботов из каталогов вроде top.gg: приглашаете бота по ссылке и общаетесь слэш-командами. Минусы — лимиты бесплатных сообщений, чужие настройки и отсутствие контроля над моделью. Свой бот на Python настраивается под ваш сервер полностью.

Почему код из старых гайдов падает с ошибкой на openai.Completion?

OpenAI отключила старый интерфейс Completion и модели серии text-davinci. В SDK openai версии 1.x запросы делаются через client.chat.completions.create() со списком messages. Код с openai.api_key и engine=»text-davinci-002″ нужно переписать, простой заменой имени модели он не чинится.

Что делать, если слэш-команда /ask не появилась на сервере?

Убедитесь, что бот приглашён со scope applications.commands и в коде вызывается bot.tree.sync(). Глобальные слэш-команды Discord регистрирует с задержкой, поэтому после первого запуска подождите и перезапустите клиент Discord — список команд подтягивается не мгновенно.

Что в итоге

Связка Discord и Chat GPT собирается за вечер: приложение на портале разработчиков, токен с вкладки Bot, включённый Message Content Intent, ссылка-приглашение со страницы Installation — и 40 строк Python с двумя командами, !chat и /ask. Дальше бота можно углублять: память диалога, роли под задачи сервера, озвучка ответов. Если хотите разобраться, как устроены такие интеграции, и научиться автоматизировать рутину нейросетями системно, посмотрите курс «Нейросети: от принципов к практике» — там эта механика разбирается от API до готовых рабочих сценариев.

Большой практикум
ЗАМЕНИ ВСЕ НЕЙРОСЕТИ НА ОДНУ — PERPLEXITY
ПОКАЖЕМ НА КОНКРЕТНЫХ КЕЙСАХ
  • Освой нейросеть Perplexity и узнай, как пользоваться функционалом остальных ИИ в одном
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Расскажем, как получить подписку
Участвовать бесплатно
ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК нейросети DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросеть DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
Участвовать бесплатно