Как создать бота в Discord — Simple-Server

    Команда Simple-Server
    03.06.2026
    12 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    На начальном этапе нужно выбрать среду для разработки и установить ее. Мы будем рассматривать создание бота на примере Visual Studio Code, но можно воспользоваться и другими средами для разработки, например, Atom, Eclipse, Notepad ++ и другие. Выбрав среду, скачайте ее на официальном сайте для вашей версии операционной системы.

    Кроме среды разработки нужно установить необходимые расширения, а также среду выполнения. В качестве среды выполнения используется node.js, а расширения можно установить непосредственно из окна среды разработки.

    Какие расширения могут быть полезны при создании дискорд-бота на JS? В первую очередь, это инструменты для запуска выбранных фрагментов созданного кода, а также расширение для удобного отображения рабочей области. Если вы используете Visual Studio Code, вы сможете найти эти расширения под именами Code Runner и Discord Presence.

    Процесс создания бота начинается на портале разработчиков. Для этого нужно выбрать опцию NEW APPLICATION.

    В диалоговом окне назначьте имя для нового бота, нажмите CREATE. Если вы захотите изменить имя бота в процессе работы, вы без труда сможете сделать это, а также добавить иконку.

    Последний шаг — это добавить необходимые разрешения. Переходим во вкладку BOT и внизу страницы выставляем права, которые должен иметь бот. Галочка «Administrator» активирует все.

    Перед тем как приступить к написанию кода, нужно создать папку и открыть ее в Visual Studio Code. Для этого воспользуйтесь командой: файл — > открыть папку.

    Следующий этап — создание терминала, через который будем добавлять описание бота. Для этого выберите: терминал — > создать терминал.

    Для начала создания описания бота в терминале вводим:

    После этого на экране начнут появляться строки, в конце каждой нужно нажать Enter. Далее вводим следующие комбинации:

    npm install npm install discord.js

    После этого у вас должна отображаться папка с файлами и два объекта с расширением .json.

    Перед написанием кода нужно создать файл для хранения базовых данных о боте. Для этого создайте файл config.json. В нем указываете следующее:

    { "token" : "ваш_токен", "prefix" : "ваш_префикс" }

    Токен можно получить на портале разработчика во вкладке Bot. Эта информация отображается один раз, поэтому не забудьте сохранить свой токен.

    В роли префикса используется начальная точка команды. Например, если вводится команда $help, то значок $ и будет являться префиксом. Обычно в качестве префикса используют знак восклицания !. Однако вы можете использовать практически любой символ в качестве префикса, включая буквы, цифры и специальные символы, если они не зарезервированы или не используются в других целях в вашем боте.

    Следующим шагом идёт создание файла bot.js, который является телом нашего бота и содержит добавленный вами функционал который можно впоследствии расширять и редактировать. Типичный файл выглядит следующим образом:

    const Discord = require('discord.js'); // Подключаем библиотеку discord.js const robot = new Discord.Client({ intents: [  Discord.GatewayIntentBits.Guilds,  Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent //Эта директива необходима, чтобы бот реагировал на тело сообщения ]}) // Объявляем, что robot — бот. В данную часть кода вносятся данные, зависящие от версии библиотеки discord.js, в примере использована Discord.js v14 const comms = require("./comms.js"); // Подключаем файл с командами для бота const fs = require('fs'); // Подключаем «родной» модуль файловой системы node.js let config = require('./config.json'); // Подключаем файл с параметрами и информацией let token = config.token; // «Вытаскиваем» из него токен let prefix = config.prefix; // «Вытаскиваем» из него префикс robot.on("ready", function() { /* При успешном запуске в консоли появится сообщение «[Имя бота]  запустился!» */ console.log(robot.user.username + " запустился!"); }); robot.on('messageCreate', (msg) => { // Реагирование на сообщения if (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) { var comm = msg.content.trim() + " "; var comm_name = comm.slice(0, comm.indexOf(" ")); var messArr = comm.split(" "); for (comm_count in comms.comms) { var comm2 = prefix + comms.comms[comm_count].name; if (comm2 == comm_name) { comms.comms[comm_count].out(robot, msg, messArr); } } } }); robot.login(token); // Авторизация бота

    Обратите внимание, что файл config.json должен находиться в том же каталоге, что и ваш bot.js, чтобы бот мог правильно считывать параметры из файла.

    Для работы с параметрами бота создаем файл, в котором будут описаны команды. Файлу присваиваем имя comms.js и добавляем в него код:

    const config = require('./config.json'); // Подключаем файл с параметрами и информацией const Discord = require('discord.js'); // Подключаем библиотеку discord.js const prefix = config.prefix; // «Вытаскиваем» префикс // Команды // function test(robot, mess, args) { mess.channel.send('Test!') } // Список команд // var comms_list = [{ name: "test", out: test, about: "Тестовая команда" }]; // Name — название команды, на которую будет реагировать бот // Out — название функции с командой // About — описание команды module.exports.comms = comms_list;

    Это примерный вариант, если есть необходимость, вы можете добавить больше функций и команд.

    Важно! Последние версии Discord требуют последних версий Node.js. Например, Дискорд версии 13 требует для запуска версию ноды не ниже 16. По умолчанию система использует старую версию Node версии 14.

    Проверить версию можно командой:

    Обновить версию можно командами:

    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\ sudo apt-get install -y nodejs curl -fsSL https://deb.nodesource.com/setup_20.x | bash - &&\ apt-get install -y nodejs

    Ошибка Unexpected token '??=' указывает на неподходящую версию, такие сущности доступны с версии Node 16+.

    Как создать бота в Discord-сервисе, мы разобрали. Теперь осталось запустить его через терминал. Это можно сделать с помощью команды:

    После запуска можно выбрать привилегии. Для этого нужно:

    1. Перейти во вкладку OAuth2.

    2. В блоке Scopes поставить флажок напротив bot.

    3. В появившемся блоке Bot permissions — отметить галочками нужные привилегии. Галочка «Administrator» активирует все.

    В этой же вкладке, немного ниже, можно получить ссылку на бот. Достаточно скопировать ее и вставить в адресную строку браузера.

    Также включите опцию «Message Content Intent» на вкладке «Bot»:

    Как создать сервер и подключить бота

    Для бота нужно создать канал в Discord.

    1. Зайдите в свою учётную запись Discord в браузере.
    2. Для добавления сервера в боковой панели нажмите значок «+» и укажите, какой шаблон сервера хотите применить, для каких целей будете его использовать.
    3. На следующем этапе назначьте имя сервера и изображение.
    4. После этого завершите процесс создания нажатием кнопки Create.

    В новом сервере по умолчанию присутствует два канала: голосовой и текстовый. Каждый из них имеет настройки, которые можно менять, нажав на иконку шестеренки. Если этих каналов недостаточно, пользователь может добавить новый, нажав значок «+». Для присвоения ID каналу нужно перейти в режим разработчика: app settings —> advanced —> developer mode.

    Чтобы подключить бота, необходимо получить ссылку в OAuth2 -> URL Generator.

    Как мы и указывали немного выше: в Scopes выставляем галочку bot, ниже в Bot permissions выбираем разрешения, галочка Administrator активирует все.

    Полученную ссылку на бота вставляем в адресную строку.

    Открыв приложение, в выпадающем списке вы сможете выбрать сервер. Проверьте, правильно ли назначены разрешения для бота. Если все сделано верно, вернувшись на сервер, вы увидите приветственное сообщение.

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

    Чтобы бот подбадривал пользователей, можно добавить список ключевых фраз, в ответ на которые будут выводиться приветственные или другие сообщения. Для внесения нового функционала (триггерной фразы) для бота нужно внести данные в файл comms.js, для примера модифицируем функцию test. Пример добавления и редакции триггерных фраз выглядит так:

    const config = require('./config.json'); // Подключаем файл с параметрами и информацией const Discord = require('discord.js'); // Подключаем библиотеку discord.js const prefix = config.prefix; // «Вытаскиваем» префикс const sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]; // Слова можно задать на любом языке  // Команды // function test(robot, mess, args) { if (sad_words.some(word => mess.content.includes(word))) { mess.channel.send("Почему вы грустите? Может быть, я могу вам помочь?"); } else { mess.channel.send('Test!'); } } // Список команд // var comms_list = [{ name: "test", out: test, about: "Отредактированная тестовая команда" }]; module.exports.comms = comms_list;

    Теперь ваш Discord-бот будет реагировать на сообщения, содержащие триггерные фразы/слова (в связи с модификацией функции test) из списка sad_words и отправлять соответствующий ответ.

    Проверить внесенные изменения можно, отправив сообщение вида:

    Следующей командой добавляем фразы, которыми бот будет отвечать на триггерные слова:

    starter_encouragements = [ «Cheer up!», «Hang in there.», «You are a great person / bot!»]

    При необходимости слова и фразы можно задавать и на русском языке. Файл comms.js в таком случае будет выглядеть так:

    const config = require('./config.json'); // Подключаем файл с параметрами и информацией const Discord = require('discord.js'); // Подключаем библиотеку discord.js const prefix = config.prefix; // «Вытаскиваем» префикс const sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]; // Слова можно задать на любом языке const starter_encouragements = ["Cheer up!", "Hang in there.", "You are a great person / bot!"]; // Команды // function test(robot, mess, args) { if (sad_words.some(word => mess.content.includes(word))) { mess.channel.send("Почему вы грустите? Может быть, я могу вам помочь?"); } else { mess.channel.send('Test!'); } } function encourage(robot, mess, args) { const encouragement = starter_encouragements[Math.floor(Math.random() * starter_encouragements.length)]; mess.channel.send(encouragement); } // Список команд // var comms_list = [ { name: "test", out: test, about: "Тестовая команда" }, { name: "encourage", out: encourage, about: "Подбодрить пользователя" } ]; module.exports.comms = comms_list;

    В примере выше мы добавили новую функцию encourage, которая будет выбирать случайную фразу из списка starter_encouragements и отправлять ее в канал. Затем мы добавили эту функцию в список comms_list (список команд), указав имя команды, функцию encourage и её описание.

    Также вам потребуется внести изменения в файл bot.js (если функционал не был внесён изначально), чтобы он распознавал новую команду encourage. Убедитесь, что в файле bot.js есть следующий код:

    for (comm_count in comms.comms) { var comm2 = prefix + comms.comms[comm_count].name; if (comm2 == comm_name) { comms.comms[comm_count].out(robot, msg, messArr); } }

    Теперь вы можете использовать команду !encourage в Discord-чате, и бот будет отправлять случайную фразу поддержки из списка starter_encouragements в ответ.

    Как создать бота на Python

    Мы рассмотрели процесс создания бота на .JS, но отметим и альтернативный способ. Также создать бота можно на Python — но для этого вам потребуются навыки работы с этим языком. Можно воспользоваться готовыми фрагментами кода, но обладать элементарными знаниями для их адаптации под собственные нужды необходимо.

    Для работы вам потребуются текстовый редактор и библиотеки Python 3.4.2+ и Pip3. Перед началом создания бота необходимо создать пустой файл и присвоить ему имя. Далее файл открывается в текстовом редакторе, где можно начинать писать код. Для сохранения токена бота используется переменная DISCORD_BOT_TOKEN.

    Что такое Discord Bot Maker

    Это еще один вариант создания бота. С помощью инструмента можно не просто создавать типовые решения, но и разрабатывать ботов, отправляющих файлы, генерирующих сообщения, редактирующих картинки.

    Для начала работы нужно установить утилиту и нажать кнопку «Создать». После этого можно будет выбрать необходимый набор функций и команд. Не забудьте сохранить бота, после этого его можно запустить в Дискорд.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны

      Как создать бота в Discord — Simple-Server

      Команда Simple-Server
      03.06.2026
      12 мин

      Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

      Кратко о задаче

      На начальном этапе нужно выбрать среду для разработки и установить ее. Мы будем рассматривать создание бота на примере Visual Studio Code, но можно воспользоваться и другими средами для разработки, например, Atom, Eclipse, Notepad ++ и другие. Выбрав среду, скачайте ее на официальном сайте для вашей версии операционной системы.

      Кроме среды разработки нужно установить необходимые расширения, а также среду выполнения. В качестве среды выполнения используется node.js, а расширения можно установить непосредственно из окна среды разработки.

      Какие расширения могут быть полезны при создании дискорд-бота на JS? В первую очередь, это инструменты для запуска выбранных фрагментов созданного кода, а также расширение для удобного отображения рабочей области. Если вы используете Visual Studio Code, вы сможете найти эти расширения под именами Code Runner и Discord Presence.

      Процесс создания бота начинается на портале разработчиков. Для этого нужно выбрать опцию NEW APPLICATION.

      В диалоговом окне назначьте имя для нового бота, нажмите CREATE. Если вы захотите изменить имя бота в процессе работы, вы без труда сможете сделать это, а также добавить иконку.

      Последний шаг — это добавить необходимые разрешения. Переходим во вкладку BOT и внизу страницы выставляем права, которые должен иметь бот. Галочка «Administrator» активирует все.

      Перед тем как приступить к написанию кода, нужно создать папку и открыть ее в Visual Studio Code. Для этого воспользуйтесь командой: файл — > открыть папку.

      Следующий этап — создание терминала, через который будем добавлять описание бота. Для этого выберите: терминал — > создать терминал.

      Для начала создания описания бота в терминале вводим:

      После этого на экране начнут появляться строки, в конце каждой нужно нажать Enter. Далее вводим следующие комбинации:

      npm install npm install discord.js

      После этого у вас должна отображаться папка с файлами и два объекта с расширением .json.

      Перед написанием кода нужно создать файл для хранения базовых данных о боте. Для этого создайте файл config.json. В нем указываете следующее:

      { "token" : "ваш_токен", "prefix" : "ваш_префикс" }

      Токен можно получить на портале разработчика во вкладке Bot. Эта информация отображается один раз, поэтому не забудьте сохранить свой токен.

      В роли префикса используется начальная точка команды. Например, если вводится команда $help, то значок $ и будет являться префиксом. Обычно в качестве префикса используют знак восклицания !. Однако вы можете использовать практически любой символ в качестве префикса, включая буквы, цифры и специальные символы, если они не зарезервированы или не используются в других целях в вашем боте.

      Следующим шагом идёт создание файла bot.js, который является телом нашего бота и содержит добавленный вами функционал который можно впоследствии расширять и редактировать. Типичный файл выглядит следующим образом:

      const Discord = require('discord.js'); // Подключаем библиотеку discord.js const robot = new Discord.Client({ intents: [  Discord.GatewayIntentBits.Guilds,  Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent //Эта директива необходима, чтобы бот реагировал на тело сообщения ]}) // Объявляем, что robot — бот. В данную часть кода вносятся данные, зависящие от версии библиотеки discord.js, в примере использована Discord.js v14 const comms = require("./comms.js"); // Подключаем файл с командами для бота const fs = require('fs'); // Подключаем «родной» модуль файловой системы node.js let config = require('./config.json'); // Подключаем файл с параметрами и информацией let token = config.token; // «Вытаскиваем» из него токен let prefix = config.prefix; // «Вытаскиваем» из него префикс robot.on("ready", function() { /* При успешном запуске в консоли появится сообщение «[Имя бота]  запустился!» */ console.log(robot.user.username + " запустился!"); }); robot.on('messageCreate', (msg) => { // Реагирование на сообщения if (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) { var comm = msg.content.trim() + " "; var comm_name = comm.slice(0, comm.indexOf(" ")); var messArr = comm.split(" "); for (comm_count in comms.comms) { var comm2 = prefix + comms.comms[comm_count].name; if (comm2 == comm_name) { comms.comms[comm_count].out(robot, msg, messArr); } } } }); robot.login(token); // Авторизация бота

      Обратите внимание, что файл config.json должен находиться в том же каталоге, что и ваш bot.js, чтобы бот мог правильно считывать параметры из файла.

      Для работы с параметрами бота создаем файл, в котором будут описаны команды. Файлу присваиваем имя comms.js и добавляем в него код:

      const config = require('./config.json'); // Подключаем файл с параметрами и информацией const Discord = require('discord.js'); // Подключаем библиотеку discord.js const prefix = config.prefix; // «Вытаскиваем» префикс // Команды // function test(robot, mess, args) { mess.channel.send('Test!') } // Список команд // var comms_list = [{ name: "test", out: test, about: "Тестовая команда" }]; // Name — название команды, на которую будет реагировать бот // Out — название функции с командой // About — описание команды module.exports.comms = comms_list;

      Это примерный вариант, если есть необходимость, вы можете добавить больше функций и команд.

      Важно! Последние версии Discord требуют последних версий Node.js. Например, Дискорд версии 13 требует для запуска версию ноды не ниже 16. По умолчанию система использует старую версию Node версии 14.

      Проверить версию можно командой:

      Обновить версию можно командами:

      curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\ sudo apt-get install -y nodejs curl -fsSL https://deb.nodesource.com/setup_20.x | bash - &&\ apt-get install -y nodejs

      Ошибка Unexpected token '??=' указывает на неподходящую версию, такие сущности доступны с версии Node 16+.

      Как создать бота в Discord-сервисе, мы разобрали. Теперь осталось запустить его через терминал. Это можно сделать с помощью команды:

      После запуска можно выбрать привилегии. Для этого нужно:

      1. Перейти во вкладку OAuth2.

      2. В блоке Scopes поставить флажок напротив bot.

      3. В появившемся блоке Bot permissions — отметить галочками нужные привилегии. Галочка «Administrator» активирует все.

      В этой же вкладке, немного ниже, можно получить ссылку на бот. Достаточно скопировать ее и вставить в адресную строку браузера.

      Также включите опцию «Message Content Intent» на вкладке «Bot»:

      Как создать сервер и подключить бота

      Для бота нужно создать канал в Discord.

      1. Зайдите в свою учётную запись Discord в браузере.
      2. Для добавления сервера в боковой панели нажмите значок «+» и укажите, какой шаблон сервера хотите применить, для каких целей будете его использовать.
      3. На следующем этапе назначьте имя сервера и изображение.
      4. После этого завершите процесс создания нажатием кнопки Create.

      В новом сервере по умолчанию присутствует два канала: голосовой и текстовый. Каждый из них имеет настройки, которые можно менять, нажав на иконку шестеренки. Если этих каналов недостаточно, пользователь может добавить новый, нажав значок «+». Для присвоения ID каналу нужно перейти в режим разработчика: app settings —> advanced —> developer mode.

      Чтобы подключить бота, необходимо получить ссылку в OAuth2 -> URL Generator.

      Как мы и указывали немного выше: в Scopes выставляем галочку bot, ниже в Bot permissions выбираем разрешения, галочка Administrator активирует все.

      Полученную ссылку на бота вставляем в адресную строку.

      Открыв приложение, в выпадающем списке вы сможете выбрать сервер. Проверьте, правильно ли назначены разрешения для бота. Если все сделано верно, вернувшись на сервер, вы увидите приветственное сообщение.

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

      Чтобы бот подбадривал пользователей, можно добавить список ключевых фраз, в ответ на которые будут выводиться приветственные или другие сообщения. Для внесения нового функционала (триггерной фразы) для бота нужно внести данные в файл comms.js, для примера модифицируем функцию test. Пример добавления и редакции триггерных фраз выглядит так:

      const config = require('./config.json'); // Подключаем файл с параметрами и информацией const Discord = require('discord.js'); // Подключаем библиотеку discord.js const prefix = config.prefix; // «Вытаскиваем» префикс const sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]; // Слова можно задать на любом языке  // Команды // function test(robot, mess, args) { if (sad_words.some(word => mess.content.includes(word))) { mess.channel.send("Почему вы грустите? Может быть, я могу вам помочь?"); } else { mess.channel.send('Test!'); } } // Список команд // var comms_list = [{ name: "test", out: test, about: "Отредактированная тестовая команда" }]; module.exports.comms = comms_list;

      Теперь ваш Discord-бот будет реагировать на сообщения, содержащие триггерные фразы/слова (в связи с модификацией функции test) из списка sad_words и отправлять соответствующий ответ.

      Проверить внесенные изменения можно, отправив сообщение вида:

      Следующей командой добавляем фразы, которыми бот будет отвечать на триггерные слова:

      starter_encouragements = [ «Cheer up!», «Hang in there.», «You are a great person / bot!»]

      При необходимости слова и фразы можно задавать и на русском языке. Файл comms.js в таком случае будет выглядеть так:

      const config = require('./config.json'); // Подключаем файл с параметрами и информацией const Discord = require('discord.js'); // Подключаем библиотеку discord.js const prefix = config.prefix; // «Вытаскиваем» префикс const sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]; // Слова можно задать на любом языке const starter_encouragements = ["Cheer up!", "Hang in there.", "You are a great person / bot!"]; // Команды // function test(robot, mess, args) { if (sad_words.some(word => mess.content.includes(word))) { mess.channel.send("Почему вы грустите? Может быть, я могу вам помочь?"); } else { mess.channel.send('Test!'); } } function encourage(robot, mess, args) { const encouragement = starter_encouragements[Math.floor(Math.random() * starter_encouragements.length)]; mess.channel.send(encouragement); } // Список команд // var comms_list = [ { name: "test", out: test, about: "Тестовая команда" }, { name: "encourage", out: encourage, about: "Подбодрить пользователя" } ]; module.exports.comms = comms_list;

      В примере выше мы добавили новую функцию encourage, которая будет выбирать случайную фразу из списка starter_encouragements и отправлять ее в канал. Затем мы добавили эту функцию в список comms_list (список команд), указав имя команды, функцию encourage и её описание.

      Также вам потребуется внести изменения в файл bot.js (если функционал не был внесён изначально), чтобы он распознавал новую команду encourage. Убедитесь, что в файле bot.js есть следующий код:

      for (comm_count in comms.comms) { var comm2 = prefix + comms.comms[comm_count].name; if (comm2 == comm_name) { comms.comms[comm_count].out(robot, msg, messArr); } }

      Теперь вы можете использовать команду !encourage в Discord-чате, и бот будет отправлять случайную фразу поддержки из списка starter_encouragements в ответ.

      Как создать бота на Python

      Мы рассмотрели процесс создания бота на .JS, но отметим и альтернативный способ. Также создать бота можно на Python — но для этого вам потребуются навыки работы с этим языком. Можно воспользоваться готовыми фрагментами кода, но обладать элементарными знаниями для их адаптации под собственные нужды необходимо.

      Для работы вам потребуются текстовый редактор и библиотеки Python 3.4.2+ и Pip3. Перед началом создания бота необходимо создать пустой файл и присвоить ему имя. Далее файл открывается в текстовом редакторе, где можно начинать писать код. Для сохранения токена бота используется переменная DISCORD_BOT_TOKEN.

      Что такое Discord Bot Maker

      Это еще один вариант создания бота. С помощью инструмента можно не просто создавать типовые решения, но и разрабатывать ботов, отправляющих файлы, генерирующих сообщения, редактирующих картинки.

      Для начала работы нужно установить утилиту и нажать кнопку «Создать». После этого можно будет выбрать необходимый набор функций и команд. Не забудьте сохранить бота, после этого его можно запустить в Дискорд.


      Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

      VPS для проекта

      VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

      StarterVDS

      490₽

      в месяц

      1 ядро

      1 ГБ RAM

      20 ГБ NVMe

      • 1 IPv4
      • KVM
      • Root-доступ
      • Безлимитный трафик
      Заказать VPS
      Рекомендуем

      PerformanceVDS

      1190₽

      в месяц

      2 ядра

      4 ГБ RAM

      60 ГБ NVMe

      • 1 IPv4
      • KVM
      • Root-доступ
      • Базовая DDoS-защита
      Заказать VPS

      Нужна другая конфигурация или чистый VPS без панели?

      Все тарифы VPS

      Похожие статьи, которые могут быть вам интересны

      и будет являться префиксом. Обычно в качестве префикса используют знак восклицания `!`. Однако вы можете использовать практически любой символ в качестве префикса, включая буквы, цифры и специальные символы, если они не зарезервированы или не используются в других целях в вашем боте.\r\n\r\nСледующим шагом идёт создание файла `bot.js`, который является телом нашего бота и содержит добавленный вами функционал который можно впоследствии расширять и редактировать. Типичный файл выглядит следующим образом:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nconst Discord = require('discord.js'); // Подключаем библиотеку discord.js \r\nconst robot = new Discord.Client({ intents: [  \r\nDiscord.GatewayIntentBits.Guilds,  \r\nDiscord.GatewayIntentBits.GuildMessages, \r\nDiscord.GatewayIntentBits.MessageContent //Эта директива необходима, чтобы бот реагировал на тело сообщения \r\n]}) // Объявляем, что robot — бот. В данную часть кода вносятся данные, зависящие от версии библиотеки discord.js, в примере использована Discord.js v14 \r\nconst comms = require(\"./comms.js\"); // Подключаем файл с командами для бота \r\nconst fs = require('fs'); // Подключаем «родной» модуль файловой системы node.js \r\nlet config = require('./config.json'); // Подключаем файл с параметрами и информацией \r\nlet token = config.token; // «Вытаскиваем» из него токен \r\nlet prefix = config.prefix; // «Вытаскиваем» из него префикс \r\nrobot.on(\"ready\", function() { \r\n/* При успешном запуске в консоли появится сообщение «[Имя бота]  запустился!» */ \r\nconsole.log(robot.user.username + \" запустился!\"); \r\n}); \r\nrobot.on('messageCreate', (msg) => { // Реагирование на сообщения \r\nif (msg.author.username != robot.user.username && msg.author.discriminator != robot.user.discriminator) { \r\nvar comm = msg.content.trim() + \" \"; \r\nvar comm_name = comm.slice(0, comm.indexOf(\" \")); \r\nvar messArr = comm.split(\" \"); \r\nfor (comm_count in comms.comms) { \r\nvar comm2 = prefix + comms.comms[comm_count].name; \r\nif (comm2 == comm_name) { \r\ncomms.comms[comm_count].out(robot, msg, messArr); \r\n} \r\n} \r\n} \r\n}); \r\nrobot.login(token); // Авторизация бота\n```\n\n \r\n\r\nОбратите внимание, что файл `config.json` должен находиться в том же каталоге, что и ваш `bot.js`, чтобы бот мог правильно считывать параметры из файла.\r\n\r\nДля работы с параметрами бота создаем файл, в котором будут описаны команды. Файлу присваиваем имя `comms.js` и добавляем в него код:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nconst config = require('./config.json'); // Подключаем файл с параметрами и информацией \r\nconst Discord = require('discord.js'); // Подключаем библиотеку discord.js \r\nconst prefix = config.prefix; // «Вытаскиваем» префикс \r\n// Команды // \r\nfunction test(robot, mess, args) { \r\nmess.channel.send('Test!') \r\n} \r\n// Список команд // \r\nvar comms_list = [{ \r\nname: \"test\", \r\nout: test, \r\nabout: \"Тестовая команда\" \r\n}]; \r\n// Name — название команды, на которую будет реагировать бот \r\n// Out — название функции с командой \r\n// About — описание команды \r\nmodule.exports.comms = comms_list;\n```\n\n \r\n\r\nЭто примерный вариант, если есть необходимость, вы можете добавить больше функций и команд.\r\n\r\n**Важно!** Последние версии Discord требуют последних версий Node.js. Например, Дискорд версии 13 требует для запуска версию ноды не ниже 16. По умолчанию система использует старую версию Node версии 14. \r\n\r\nПроверить версию можно командой: \r\n\r\nОбновить версию можно командами: \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\ncurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\\\r\nsudo apt-get install -y nodejs\r\ncurl -fsSL https://deb.nodesource.com/setup_20.x | bash - &&\\\r\napt-get install -y nodejs\n```\n\n \r\n\r\nОшибка `Unexpected token '??='` указывает на неподходящую версию, такие сущности доступны с версии Node 16+.\r\n\r\nКак создать бота в Discord-сервисе, мы разобрали. Теперь осталось запустить его через терминал. Это можно сделать с помощью команды:\r\n\r\nПосле запуска можно выбрать привилегии. Для этого нужно:\r\n\r\n 1. Перейти во вкладку OAuth2. \r\n 2. В блоке Scopes поставить флажок напротив bot.\r\n\r\n\r\n 3. В появившемся блоке Bot permissions — отметить галочками нужные привилегии. Галочка «Administrator» активирует все.\r\n\r\n\r\nВ этой же вкладке, немного ниже, можно получить ссылку на бот. Достаточно скопировать ее и вставить в адресную строку браузера.\r\n\r\nТакже включите опцию «Message Content Intent» на вкладке «Bot»:\r\n\r\n### Как создать сервер и подключить бота \r\n\r\nДля бота нужно создать канал в Discord. \r\n\r\n 1. Зайдите в свою учётную запись Discord в браузере. \r\n 2. Для добавления сервера в боковой панели нажмите значок «+» и укажите, какой шаблон сервера хотите применить, для каких целей будете его использовать. \r\n 3. На следующем этапе назначьте имя сервера и изображение. \r\n 4. После этого завершите процесс создания нажатием кнопки Create.\r\n\r\n\r\nВ новом сервере по умолчанию присутствует два канала: голосовой и текстовый. Каждый из них имеет настройки, которые можно менять, нажав на иконку шестеренки. Если этих каналов недостаточно, пользователь может добавить новый, нажав значок «+». Для присвоения ID каналу нужно перейти в режим разработчика: app settings —> advanced —> developer mode.\r\n\r\nЧтобы подключить бота, необходимо получить ссылку в OAuth2 -> URL Generator. \r\n\r\nКак мы и указывали немного выше: в Scopes выставляем галочку bot, ниже в Bot permissions выбираем разрешения, галочка Administrator активирует все. \r\n\r\nПолученную ссылку на бота вставляем в адресную строку. \r\n\r\nОткрыв приложение, в выпадающем списке вы сможете выбрать сервер. Проверьте, правильно ли назначены разрешения для бота. Если все сделано верно, вернувшись на сервер, вы увидите приветственное сообщение.\r\n\r\nСозданное решение можно модернизировать, добавить новые опции, сделать бота более дружественным для пользователя и функциональным, персонализировать его.\r\n\r\nЧтобы бот подбадривал пользователей, можно добавить список ключевых фраз, в ответ на которые будут выводиться приветственные или другие сообщения. Для внесения нового функционала (триггерной фразы) для бота нужно внести данные в файл `comms.js`, для примера модифицируем функцию `test`. Пример добавления и редакции триггерных фраз выглядит так:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nconst config = require('./config.json'); // Подключаем файл с параметрами и информацией \r\nconst Discord = require('discord.js'); // Подключаем библиотеку discord.js \r\nconst prefix = config.prefix; // «Вытаскиваем» префикс \r\nconst sad_words = [\"sad\", \"depressed\", \"unhappy\", \"angry\", \"miserable\"]; // Слова можно задать на любом языке  \r\n// Команды // \r\nfunction test(robot, mess, args) { \r\nif (sad_words.some(word => mess.content.includes(word))) { \r\nmess.channel.send(\"Почему вы грустите? Может быть, я могу вам помочь?\"); \r\n} else { \r\nmess.channel.send('Test!'); \r\n} \r\n} \r\n// Список команд // \r\nvar comms_list = [{ \r\nname: \"test\", \r\nout: test, \r\nabout: \"Отредактированная тестовая команда\" \r\n}]; \r\nmodule.exports.comms = comms_list;\n```\n\n \r\n\r\nТеперь ваш Discord-бот будет реагировать на сообщения, содержащие триггерные фразы/слова (в связи с модификацией функции `test`) из списка `sad_words` и отправлять соответствующий ответ.\r\n\r\nПроверить внесенные изменения можно, отправив сообщение вида:\r\n\r\nСледующей командой добавляем фразы, которыми бот будет отвечать на триггерные слова:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nstarter_encouragements = [ «Cheer up!», «Hang in there.», «You are a great person / bot!»]\n```\n\n \r\n\r\nПри необходимости слова и фразы можно задавать и на русском языке. Файл `comms.js` в таком случае будет выглядеть так:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nconst config = require('./config.json'); // Подключаем файл с параметрами и информацией \r\nconst Discord = require('discord.js'); // Подключаем библиотеку discord.js \r\nconst prefix = config.prefix; // «Вытаскиваем» префикс \r\nconst sad_words = [\"sad\", \"depressed\", \"unhappy\", \"angry\", \"miserable\"]; // Слова можно задать на любом языке \r\nconst starter_encouragements = [\"Cheer up!\", \"Hang in there.\", \"You are a great person / bot!\"]; \r\n// Команды // \r\nfunction test(robot, mess, args) { \r\nif (sad_words.some(word => mess.content.includes(word))) { \r\nmess.channel.send(\"Почему вы грустите? Может быть, я могу вам помочь?\"); \r\n} else { \r\nmess.channel.send('Test!'); \r\n} \r\n} \r\nfunction encourage(robot, mess, args) { \r\nconst encouragement = starter_encouragements[Math.floor(Math.random() * starter_encouragements.length)]; \r\nmess.channel.send(encouragement); \r\n} \r\n// Список команд // \r\nvar comms_list = [ \r\n{ \r\nname: \"test\", \r\nout: test, \r\nabout: \"Тестовая команда\" \r\n}, \r\n{ \r\nname: \"encourage\", \r\nout: encourage, \r\nabout: \"Подбодрить пользователя\" \r\n} \r\n]; \r\nmodule.exports.comms = comms_list;\n```\n\n \r\n\r\nВ примере выше мы добавили новую функцию `encourage`, которая будет выбирать случайную фразу из списка `starter_encouragements` и отправлять ее в канал. Затем мы добавили эту функцию в список `comms_list` (список команд), указав имя команды, функцию encourage и её описание.\r\n\r\nТакже вам потребуется внести изменения в файл `bot.js` (если функционал не был внесён изначально), чтобы он распознавал новую команду `encourage`. Убедитесь, что в файле `bot.js` есть следующий код:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nfor (comm_count in comms.comms) { \r\nvar comm2 = prefix + comms.comms[comm_count].name; \r\nif (comm2 == comm_name) { \r\ncomms.comms[comm_count].out(robot, msg, messArr); \r\n} \r\n}\n```\n\n \r\n\r\nТеперь вы можете использовать команду `!encourage` в Discord-чате, и бот будет отправлять случайную фразу поддержки из списка `starter_encouragements` в ответ. \r\n\r\n## Как создать бота на Python \r\n\r\nМы рассмотрели процесс создания бота на .JS, но отметим и альтернативный способ. Также создать бота можно на Python — но для этого вам потребуются навыки работы с этим языком. Можно воспользоваться готовыми фрагментами кода, но обладать элементарными знаниями для их адаптации под собственные нужды необходимо.\r\n\r\nДля работы вам потребуются текстовый редактор и библиотеки Python 3.4.2+ и Pip3. Перед началом создания бота необходимо создать пустой файл и присвоить ему имя. Далее файл открывается в текстовом редакторе, где можно начинать писать код. Для сохранения токена бота используется переменная `DISCORD_BOT_TOKEN`.\r\n\r\n## Что такое Discord Bot Maker \r\n\r\nЭто еще один вариант создания бота. С помощью инструмента можно не просто создавать типовые решения, но и разрабатывать ботов, отправляющих файлы, генерирующих сообщения, редактирующих картинки.\r\n\r\nДля начала работы нужно установить утилиту и нажать кнопку «Создать». После этого можно будет выбрать необходимый набор функций и команд. Не забудьте сохранить бота, после этого его можно запустить в Дискорд.\r\n\r\n---\r\n\r\n**Нужен сервер для практики?** [Арендуйте VPS/VDS в России](/optimalnyij-xosting-dlya-telegram-bota) — root-доступ, NVMe, DDoS-защита и поддержка 24/7."}}