Discord js сообщение при заходе на сервер

Обновлено: 05.07.2024

Как Discord JS скачать на компьютер и самостоятельно создать нужного бота? Этим вопросом задаются многие пользователи мессенджера, которые желают делать небольших помощников для групповых чатов и каналов. И такая возможность имеется, однако для разработки сложных ассистентов потребуется специальные навыки программирования. Но некоторые части кода получится найти на GitHub, а также в документации Embed. Мы расскажем, для чего применяется Discord API Java и как без особого труда создать простого бота.

Discord JS – что это такое?

Но перед началом работы потребуется скачать Discord JS, являющийся частью Node.js, на свой компьютер. Весь процесс разработки ведется на языке программирования JavaScript, однако полностью его знать вовсе не обязательно. В большинстве случаев применяются уже готовые отрывки кода, взятые с открытых источников. А в качестве базы данных принято использовать MongoDB – мощную платформу с огромным функционалом.

В видео подробный туториал на английском:

Как создать и подключить бота?

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

  • Первым делом нужно скачать Node.js , воспользовавшись одним из способов. Порядок действий напрямую зависит от того, какая версия операционной системы используется на вашем ПК.
  • Устанавливаем текстовый редактор для работы с кодом. Как правило, применяется Visual Studio от Microsoft.
  • Переходим на портал разработчиков Дискорд и выполняем авторизацию в своем аккаунте. После чего нажимаем на кнопку New Application.


  • Вводим название для приложения, а в конце кликаем Create .



  • Копируем токен, необходимый для последующей идентификации, воспользовавшись кнопкой Click to Reveal Token.


  • Предоставляем боту необходимые разрешения, остановившись на варианте Administrator .


А уже впоследствии вы можете перейти к созданию проекта, для которого и потребовалось скачать Дискорд JS. Порядок действий напрямую зависит от ваших целей, и без специальных знаний в сфере программирования будет сложно. Но вы можете найти подробнейшие инструкции на YouTube, указав соответствующий запрос в поиске.

Как создать приватную комнату?

Опытные пользователи Дискорд знают, что без использования специального кода создать приватную комнату не представляется возможным. Но если применить знания в области Node.js, то осуществить задуманное вполне реально. И для этого вам нужно выполнить действия из пошагового руководства, представленного далее:

Как дать боту статус и роли?

И вот, когда удалось скачать необходимые компоненты и создать виртуального помощника, люди задают вопрос: а как сделать статус JS боту в Дискорде? Это важный этап, ведь без него ассистент не будет иметь нужных для работы разрешений. О том, как применить правильную настройку, подробно рассказывается в руководстве:


Как результат – вам удалось добавить роль (add role Discord JS). А что касается статуса, то с этим дела обстоят куда сложнее. Существует несколько способов, подробно описанных на зарубежных форумах.

5fa810a1b033d111405259.jpg

Либо настолько плохо гуглю, либо еще что-то. Толковой информации не нашел по этому вопросу..

Как мне сделать подобное, чтоб в определенном канале выскакивало уведомление итд?

Простой 1 комментарий

matveyyyyyyyy

Есть небольшой набросок к примеру. Но он не работает почему-то. Никакие уведомления не производятся

Информации в сети об этом много. Однако вот вам реализация на discord.js V12.
Также чтобы срабатывал это событие необходимо на портале разработчиков в настройках бота включить опцию Server Members Intent.

matveyyyyyyyy

Вот код, возможно пригодится. P.S. "bot.on" заменил на типичный для моего кода "robot.on"

matveyyyyyyyy

let embed = new MessageEmbed();
^

ReferenceError: MessageEmbed is not defined

Вот такую ошибку выдает консоль.

matveyyyyyyyy

matveyyyyyyyy, matveyyyyyyyy, Стрелочка должна быть на "new". Незнаю почему отобразилась в другом месте

matveyyyyyyyy

Weishaypt, Нашел решение
Было: let embed = new MessageEmbed();
Изменил на:
let embed = new Discord.MessageEmbed();


Discord.js
Не знаю как реализовать идею. Сделал код, который берет информацию из сайта reddit, но именно ту.

Discord bot.js
Как сделать чтобы использовался выбранный тобой префекс использовался командах бота (commands), а.

Редактирования изображения node.js для бота Discord
Вобщем, у меня есть бот на Discord, мне нужно что бы при заходе в группу этот бот кидал картинку(с.

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

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

Решение

userprog, выдать роль можно так:

а событие присоединения пользователя к серверу можно отловить так:

Не знаю почему, он не перекидывает человека в роль, let role = message.guild.roles.find(r => r.name === "My Role"); в надписи где My Role должна быть моя роль? Пытался назвать Роль "My Role", но бот не перекидывает.

Не знаю почему, он не перекидывает человека в роль, let role = message.guild.roles.find(r => r.name === "My Role"); в надписи где My Role должна быть моя роль? Пытался назвать Роль "My Role", но бот не перекидывает.

Так как названия ролей могут меняться, можно искать роль по внутреннему ID:

Напишите в чат \@Роль (у роли должно быть включена возможность упоминания). Число между и будет ID роли.

Если использовать их вместе, то в конце выдается такая ошибка: TypeError: Cannot read property 'roles' of null
at Client.client.on (E:\GitHub\lzt\index.js:43:30)
at Client.emit (events.js:187:15)
at MessageCreateHandler.handle (E:\GitHub\lzt\node_modules\discord.js\src\client\websocket\ packets\handlers\MessageCreate.js:9:34)
at WebSocketPacketManager.handle (E:\GitHub\lzt\node_modules\discord.js\src\client\websocket\ packets\WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (E:\GitHub\lzt\node_modules\discord.js\src\client\websocket\ WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (E:\GitHub\lzt\node_modules\discord.js\src\client\websocket\ WebSocketConnection.js:296:17)
at WebSocket.onMessage (E:\GitHub\lzt\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:182:13)
at Receiver._receiver.onmessage (E:\GitHub\lzt\node_modules\ws\lib\websocket.js:137:47)
at Receiver.dataMessage (E:\GitHub\lzt\node_modules\ws\lib\receiver.js:409:14)

userprog, я вроде видел в документации что не нужно встраивать события в события:

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

Начнём. Ссылка на мой youtube канал.

Discord bot туториал. Туториал по созданию ботов для дискорда на node.js используя discord.js.

Creation date : 06.12.2019

Давайте начнём создание бота. Если у вас установлена node.js, то пропустите сделающие 2 строчки. Заходим на сайт node.js, скачиваем, устанавливаем. Скриншотов процесса установки нету, тк переустанавливать node.js нету желания. Но там всё интуитивно понятно.

Создание файлов, инициализация проекта, установка библиотек.

Создаём папку bot. Желательно не использовать кирилицу, юникод и т. п. в названии. Сразу же создаём файл index.js или bot.js. Это не несёт особого смысла. Можно назвать как угодно, но принятно index.js / bot.js. Это будет главный файл бота, т.е. первым запускается, в нём основной код бота. Далее открываем консоль / терминал если у вас linux. Для быстрого открытия консоли на windows можно нажать WIN + R, ввести cmd. Далее переходим в папку бота, думаю как это сделать через консоль всем понятно. Пишим : npm init - инициализация проекта. Жмём enter до конца. Если ошибка в package name, то напишите bot. npm i discord.js - установка библиотеки discord.js.

Далее рекомендую установить один из следующих редакторов кода :

Если очень слабый компьюер можете поставить notepad++, но это для постоянной основы не самый хороший вариант. Лично я использую Atom.

Вы можете зарегистрировать его на сайте discord developers. Жмём кнопку "New Application". Вводим название бота. Жмём "Create". Переходим во вкладку "Bot", нажимаем "Add Bot", затем "Yes, do it!" Находим строку "token", немного ниже есть кнопка "Copy", нажимаем. Теперь в вашем буфере обмена есть токен бота.

Создадим первый код. Пишем :

Открываем консоль, переходим в папку проекта и пишем :

в зависимости от названия файла. Если у вас windows, то вы можете создать файл start.bat с текстом

Если линукс, то вы можете создать файл start.sh

Это будет запускать бота. Далее я не буду говорить про запуск. Делайте это сами.

Создаем файл config.json с конфигурацией нашего бота.

В начале кода бота напишем :

Еще вы можете создать конфиг прямо в коде бота.

Но второй вариант крайне не рекомендуется использовать, ведь для того что-бы изменить конфиг бота нам придется изменять его код.

Давайте залогируем тег автора.

Также можно писать не

.startsWith проверят начинается ли строка с символов в аргументах.

Также даже начинающим программистам будет очень полезна в боте команда !eval для выполнения кода не пиша его в коде бота, т.е. вы пишите !eval какой-то код и бот выполняет этот код.
Я нашёл хороший туториал по этой команде на github. Рекомендую ознакомиться и взять себе команду в код бота. Принцип её работы мы разберём позже. Тык.

Image alt

Это называется RichEmbed (Embed). Давайте отправим простой эмбед похожий на данный. (Картинка ниже)

Image alt

Для этого создадим новую команду !ping .

В Embed есть много различных параметров, вы можете прочесть их далее, либо посмотреть на оффициальном сайте discord.js

Давайте сделаем команду для получения информации о пользователе. Команда взята из моего бота. Будем использовать библиотеку moment.js , устанавливаем npm i moment.js

r.id !== message.guild.id).map(roles => `\`$\``).join(" **|** ") || "No Roles") //Роли человека на сервере .setThumbnail(mbr.user.displayAvatarURL) //Аватар человека .setFooter("Информация о пользователе.") //Футер message.channel.send(); //Отправляем > else message.reply("Вы забыли упомянуть пользователя."); //Это вряд-ли сможет произойти, но на всякий случай">

Image alt

Мой дискорд сервер!

Прошу зайти на мой дискорд сервер, ведь я долго делал туториал, а вам не сложно зайти на мой сервер в виде благодарности.

Читайте также: