Что такое слэш команды в дискорде

Мне нужно что бы бот автоматически использовал слэш команды других ботов каждых 2 часа к примеру. Я не могу понять как именно нужно обращаться к другим ботам, так как бот просто пишет (пример: /bump) в чат, без обращения к другому боту.
Вот код который работает, но мне нужно понять как обращаться к другим ботам при помощи своего бота

  • Вопрос задан более года назад
  • 872 просмотра

Комментировать
Решения вопроса 1

Во-первых, слеш-команды — это НЕ сообщения, начинающиеся на /, а отдельные сущности со своей инфраструктурой и своим способом взаимодействия. На это вполне намекает, что у разных ботов могут быть команды с одинаковыми именами, а ответ бота может быть виден только отправившему команду пользователю. Отправка ботами команд для других ботов не предусмотрена вообще.

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

Урок #3. Слэш-команды и взаимодействия [ Python / Disnake] от magelanoff

Посылать команды может разве что юзербот, но их использование запрещено правилами Discord.

Источник: qna.habr.com

Настройка команд Slash для бота Discord

Уже начав работу с этим ботом, мы должны установить некоторые зависимости, если нет, то вот они:

Они будут использоваться при создании Slash Commands для использования в Discord.

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

Еще по теме:  Дискорд буст сервера навсегда или нет

Вам также потребуется сгенерировать новый URL, включающий «bot» и «applications.commands», чтобы создать команды для сервера Discord, которые будут использоваться для бота.

deploy-commands.js

Вход в полноэкранный режим Выйти из полноэкранного режима

clientId берется с портала разработчиков бота, а guildId — это гильдия, для которой вы хотите создать эти команды.

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

index.js

Следующий файл должен быть добавлен после вызова клиента при инициализации.

clinet.on(‘interactionCreate’, async interaction => if (!interaction.

isCommand()) return const commandName > = interaction if (commandName === ‘ping’) await interaction.reply(‘Pong!’) > else if (commandName === ‘server’) await interaction.

reply(` Server name: $interaction.guild.name>n Total members: $interaction.guild.memberCout>n Server created on: $interaction.guild.

createdAt> `) > else if (commandName === ‘user’) await interaction.reply(` Your tag: $interaction.user.tag>n Your id: $interaction.user.id> `) > >)

Слеш команды в Bot Designer For Discord На Русском

Вход в полноэкранный режим Выйти из полноэкранного режима

Теперь необходимо запустить node deploy-commands.js . Его нужно будет запустить только один раз, если вы не измените способ создания команды или сервер, на который вы хотите развернуть команды.

Запустив бота на сервере с используемым идентификатором гильдии, в текстовом поле поставьте «/» , теперь у вас будут команды, которые вы создали для использования вашим ботом. Использование слеша в командах покажет название команды и description в том виде, в котором вы его написали.

Рефакторизируйте!

Если вы похожи на меня и склонны добавлять тонну команд, чтобы помочь общей модерации сервера, то вы немного устанете от такого написания команд. Не говоря уже о том, что в итоге все станет беспорядочным.

Еще по теме:  Что лучше скайп или дискорд

Discord.py | Слэш команды

Моя проблема заключается в том что когда я хочу использовать слэш команду то ответ на неё появляется не сразу. Только после 2-х, 3-х раз использовании данной команды. Сперва появляется ошибка, а дальше все работает нормально. Я бы хотел узнать с чем связанна данная проблема, и можно её как-либо решить. Чтоб сразу появлялся ожидаемый ответ от команды, а не ошибка.

Отслеживать
задан 23 июл 2021 в 16:24
88 1 1 серебряный знак 10 10 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

После обновления кода надо подождать какое-то время, так как срабатывает рейт лимит, а для тестов обычно есть параметр guild_ids . Нужна ещё синхронизация.

Отслеживать
ответ дан 23 июл 2021 в 19:48
2,287 1 1 золотой знак 4 4 серебряных знака 10 10 бронзовых знаков

  • python
  • discord
  • discord.py
    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник: ru.stackoverflow.com

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