Задать вопрос
@DmItrENub

Как сделать сообщение дискорд бота видимым только одному человеку(отправителю сообщения)?

Мне нужно, чтобы бот отправлял сообщение, и его видел только отправитель команды
  • Вопрос задан
  • 3085 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
для этого нужно использовать слэш-команды - с обычными так сделать не получится.
https://discordjs.guide/interactions/replying-to-s...
Ответ написан
Комментировать
cringeg
@cringeg
В библиотеке Discord.JS необходимо в методе reply передать значение ephemeral где true будет то, что сообщение доступно одному человеку.

Пример реализации слэш команды с ответом доступным только одному человеку:
Создание:
const commands = [];
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

const clientId = '123456789012345678';
const guildId = '876543210987654321';

for (const file of commandFiles) {
	const command = require(`./commands/${file}`);
	commands.push(command.data.toJSON());
}

const rest = new REST({ version: '9' }).setToken(token);

await rest.put(
	Routes.applicationGuildCommands(clientId, guildId),
	{ body: commands },
);

Ответ:
client.on('interactionCreate', async interaction => {
	if (!interaction.isCommand()) return;

	if (interaction.commandName === 'ping') {
		await interaction.reply({ content: 'Pong!', ephemeral: true });
	}
});

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

Войдите, чтобы написать ответ

Похожие вопросы