Как сделать слэш команду discord js

Как скрыть команду косой черты для конкретного пользователя или канала Discord.js v13

  • Post author: admin
  • Запись опубликована: 11 января, 2022
  • Post category: Вопросы по программированию

#permissions #discord.js #command #hide #slash

Вопрос:

Можно ли скрыть команду косой черты в discord.js v13.1.0 ? Я попытался добавить некоторое разрешение, но ничего из того, что я нашел, не сработало так, как

Если бы был способ это сделать, это было бы потрясающе

Я видел, что служба поддержки заметила эту проблему, но есть ли у вас какие-либо идеи о том, когда они добавят эту функцию ?

Ответ №1:

Согласно руководству discordjs, вам необходимо использовать ApplicationCommandPermissionsManager#set() или ApplicationCommandPermissionsManager#add() :

использование set()

const fullPermissions = [ < id: ‘123456789012345678’, permissions: [< id: ‘224617799434108928’, type: ‘USER’, permission: false, >], >, < id: ‘876543210987654321’, permissions: [< id: ‘464464090157416448’, type: ‘ROLE’, permission: true, >], >, ]; await client.guilds.cache.get(‘123456789012345678’)?.commands.permissions.set(< fullPermissions >);

использование функции добавить()

if (!client.application?.owner) await client.application?.fetch(); const command = await client.guilds.cache.get(‘123456789012345678’)?.commands.fetch(‘876543210987654321’); const permissions = [ < id: ‘224617799434108928’, type: ‘USER’, permission: false, >, ]; await command.permissions.add(< permissions >);

1. Я уже видел это, но метод добавления не работает

(Устарело) Исправляем слэш команды (Discord.js V13) #9.1

2. И даже при этом какой первый идентификатор используется в наборе

3. Насколько я знаю, вы не можете «скрыть» команду слэша для своего бота таким образом. Система разрешений отключает команду косой черты для указанного пользователя/роли, делая ее непригодной для них. Вы можете отключить команды косой черты в настройках канала или роли, которые скрывали бы все команды косой черты из канала, кроме системных команд.

4. Но все равно этот способ с разрешением не работает для меня, я действительно не понимаю, где и как я могу его использовать

5. может быть, это потому, что у вас есть «администратор» или что-то в этом роде? вы это проверили??

Источник: programbox.ru

Гайд Создание дискорд-бота со слеш командами

1654164712719.png

Приветствую, на форуме уже был пост с гайдом, но там не рассказывалось как же использовать слеш команды

Slash команда avatar (Discord.js v14) #1.1

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

Еще по теме:  Как уменьшить пинг в discord

(noad)
1.Жмем на Create New Application. Далее вводим название и жмем ок
2. Тут нас интересуют вкладки Bot и OAuth2. Для начала перейдем в раздел Bot и создадим нового бота
3. После создания ставим картинку и меняем ник.
4. Теперь вам надо пролистать чуть ниже, и включить эти пункты
1654162373391.png
5. Жмем сохранить и переходим в OAuth2
6. Ставим вот такие значения и приглашаем бота на наш сервер
1654162474543.png

Спойлер: Оживление бота
Для начала скачиваем мой шаблон для бота
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

После скачивания перекидываем архив по пути:
C:UsersИмяПользователяDocumentsVisual Studio 2022*TemplatesProjectTemplates
* — ваша версия, в моем случае 2022
Теперь запускаем Visual Studio и в поисках шаблона вводим Discord.Net и если все хорошо,
то появится шаблон как на картинке ниже

Жмём далее и вводим имя без пробелов, иначе будут ошибки
После создания, заходим в appsettings.json и заполняем поля:
1. Поле prefix
Его можно оставить пустым

2. Поле token
Его мы берем из нашего приложения, которое мы создали выше.
Для этого заходим в него, опять жмем на вкладку Bot и жмет Reset Token. потом копируем новый токен
и вставляем в программу

3. Поле testServer
Для этого мы включаем в настройках режим разработчика, жмем правой кнопкой
мыши по серверу и копируем ID

По итогу должно получиться так:


Теперь открываем файл Main.cs, который находится в папке Modules

1. Это группа команд, можете удалять если вам это не нужно.
Если кратко, то она позволяет вам группировать команды.
Вместо /test у вас будет /admin test, что в разы удобней
2. Это сама команда, первые ковычки это ее название, вторые ковычки описание
Дальше творим, что душе угодно.
Например, можно сделать вывод текста Embed’ом

Теперь мы не запускаем, а просто компилируем нашего бота (Ctrl + Shift + B)
Переходим в папку проекта и копируем appsettings.json. Затем переходим
в папку, куда скомпилировался бот и вставляем туда.

Теперь если все хорошо, то при запуске exe файла увидим такой результат

Источник: yougame.biz

Помогите настроить слеш команду discord js

Для начала, давайте определимся с терминами: слеш-команды (slash commands) в Discord.js представляют собой новую функциональность, позволяющую создавать интерактивные команды посредством обработки запросов из диалоговых окон (Modals) и подробно описывать параметры, которые могут быть переданы в команду. Они представляют собой более прямой способ взаимодействия с ботом, чем использование символов префикса, таких как «!» или «?». Они также позволяют ботам автоматически обрабатывать команды и создавать собственные интерфейсы для взаимодействия со своими пользователями.

Еще по теме:  Почему дискорд не видит веб камеру на ноутбуке

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

Для использования слэш-команд необходимы разрешения Oauth2 с областью видимости applications.commands, которые можно указать на странице создания новой окружающей среды (environment) на портале Discord API.

Теперь, когда мы знаем, что такое слеш-команды, давайте поговорим о том, как их правильно настроить в Discord.js.

Шаг 1. Установка Discord.js

Для начала, вам нужно установить Discord.js. Это можно сделать с помощью npm:

Шаг 2. Подключение к API Discord Вам нужно создать новый Discord-сценарий и подключиться к API через Discord.js. Это можно сделать следующим образом:
Шаг 3. Создание слеш-команд Теперь мы можем создать нашу первую слеш-команду. Для этого используем метод `client.application.commands.create`:

client.application.commands.create( name: ‘ping’,
description: ‘Проверить статус бота.’,
>).then(console.log).catch(console.error);

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

client.application.commands.create([
name: ‘ping’,
description: ‘Проверить статус бота.’,
>,
name: ‘serverinfo’,
description: ‘Узнать информацию о сервере.’,
>,
]).then(console.log).catch(console.error);

Шаг 4. Обработка слеш-команд После создания команды нам нужно обрабатывать ее вызовы. Как и для обычных команд, мы можем использовать событие `messageCreate`, чтобы контролировать вызовы команд. Однако, когда дело доходит до слеш-команд, нам нужно использовать событие `interactionCreate`. Интерактивное событие является более подходящей для обработки действий пользователя, поскольку оно включает в себя не только команды, но и взаимодействие с кнопками (Buttons) и выпадающими списками (Select Menus).

client.on(‘interactionCreate’, async interaction => if (!interaction.isCommand()) return;

if (commandName === ‘ping’) await interaction.reply(‘Pong!’);
> else if (commandName === ‘serverinfo’) await interaction.reply(`Сервер: $nВладелец сервера: $nПользователи на сервере: $`);
>
>);

Метод `interaction.isCommand()` используется, чтобы определить, вызвана ли команда, или кнопка. Если вызвана слэш-команда, мы выполняем необходимые действия в соответствии с их названием.

В примере выше мы обрабатываем две команды: ping и serverinfo. Когда пользователь вызывает команду ping, мы отправляем ответ «Pong!». Если пользователь вызывает команду serverinfo, мы отправляем общую информацию о сервере (название сервера, владельце сервера, количество пользователей).

Еще по теме:  Как добавить своего бота на сервер дискорд

Шаг 5. Тестирование слеш-команд

Теперь, когда мы создали и обработали наши слеш-команды, мы можем проверить их работу. Для тестирования слеш-команд можно использовать режим разработчика (Developer Mode) в Discord, который позволяет создавать свои сообщения и команды.

Чтобы его включить, необходимо зайти в настройки Discord, перейти на вкладку «Appearance», пролистать её до Footer и включить Developer Mode.

После этого мы можем вызвать наши команды, как обычно, добавив их имя перед самой командой. Например, если вы назвали свою команду «ping», то нужно написать «/ping». После нажатия Enter, бот должен ответить соответствующим сообщением.

Шаг 6. Развертывание бота

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

Вы можете разместить своего бота на своем сервере, либо опубликовать его через Discord Bot List, который является самым популярным ресурсом для обмена ботами. Следует учесть, что если вы планируете использовать слэш-команды, вам нужно будет сначала получить разрешение Оутх2, чтобы получить доступ к API Discord.

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

Если вы планируете разрабатывать бота для Discord, то использование слеш-команд может значительно упростить вашу задачу. Быстрый доступ к командам, более интерактивная обработка, подробное описание параметров – все это сделает вашего бота более удобным и необходимым для пользователей Discord.

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

Похожие записи:

  1. Слеш команды Discord Python
  2. Не работают слеши, не может найти слеш команду /like, что делать?
  3. Ошибка при создании роли через слеш команду
  4. Как использовать Passport-Discord для аутентификации через Discord в Node.js?
  5. Как я могу отправить сообщение в чат при модуле discord-music-player Discord.js

Источник: qaa-engineer.ru

Рейтинг
( Пока оценок нет )
Загрузка ...