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 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
- Где и как применять? Потестируем модель после установки на разных задачах
- Как дообучить модель под себя?
Создание бота в Discord Developer Portal: четыре шага

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

Шаг 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 и узнай, как пользоваться функционалом остальных ИИ в одном
- УЧАСТВОВАТЬ ЗА 0 РУБ.
- Расскажем, как получить подписку
- ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросеть DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ