#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. Я уже видел это, но метод добавления не работает
2. И даже при этом какой первый идентификатор используется в наборе
3. Насколько я знаю, вы не можете «скрыть» команду слэша для своего бота таким образом. Система разрешений отключает команду косой черты для указанного пользователя/роли, делая ее непригодной для них. Вы можете отключить команды косой черты в настройках канала или роли, которые скрывали бы все команды косой черты из канала, кроме системных команд.
4. Но все равно этот способ с разрешением не работает для меня, я действительно не понимаю, где и как я могу его использовать
5. может быть, это потому, что у вас есть «администратор» или что-то в этом роде? вы это проверили??