всё о кнопках - как создавать их, как добавлять на них эмодзи, как менять стиль кнопок
для определения нажатий на кнопки -
https://discordjs.guide/popular-topics/collectors....
const { MessageActionRow, MessageButton } = require('discord.js');
// ^^ необходимо обязательно указывать MessageActionRow и MessageButton
const row = new MessageActionRow() // пример "набора" компонентов (компоненты в вашем случае - кнопки)
.addComponents(
new MessageButton()
.setCustomId('здесь указывается ID кнопки, придуманное вами, в целях последующей идентификации кнопки')
.setEmoji('здесь указывается эмодзи, который будет на кнопке (обязательно в формате эмодзи, не в :таком:)')
.setStyle('здесь указывается стиль кнопки - есть пять стилей, про которые написано в статьях, приведённых выше'),
);
await interaction.reply({ /* для того, чтобы отправить сообщение с кнопками */
content: 'контент_сообщения',
embeds: [embed], // embed'ы (если нужно прикрепить)
components: [row] // "наборы" компонентов
});
const message = await interaction.fetchReply(); // ждём, пока бот "получит" ответ на слэш-команду
const collector = message.createMessageComponentCollector({ // "сбор" нажатий на кнопки
componentType: "BUTTON",
time: 60000 // время сбора, указывается в миллисекундах
});
collector.on('collect', i => {
// здесь пишите код для действий, которые будут происходить после нажатия на кнопки
// i.user.id - ID пользователя, который нажал на любую из кнопок | сравнивайте с interaction.user.id, если хотите удостовериться, что на кнопку нажимает именно тот, кто отправил слэш-команду
// i.customId - ID кнопки (customId, который указывался ранее, в MessageActionRow), на которую нажали.
});
collector.on('end', () => {
// здесь пишите код для действий, которые будут происходить после остановки сбора нажатий на кнопки
});
если правильно понял, приват - это голосовой канал.
в таком случае, для переименования, вы можете использовать метод
.setName()