• Как сделать такое меню на discord.js?

    Более развернутый пример ты можешь увидеть тут (урок от discordjs с работой selectMenu)

    Например по команде /send, отправляем сообщение в канал.
    Импортируем для начала из discord.js StringSelectMenuBuilder, ActionRowBuilder, SlashCommandBuilder

    Это идет сама наша команда:
    module.exports = {
    	data: new SlashCommandBuilder()
    		.setName('send')
    		.setDescription('Отправит сообщение с меню'),
    	async execute(interaction) {
    		const menu_server = new ActionRowBuilder()
                .addComponents(
                    new StringSelectMenuBuilder()
                        .setCustomId('menu-server')
                        .setPlaceholder('Выбери раздел')
                        .setMaxValues(1)
                        .addOptions([
                            {
                                label: 'Подать заявку на администрацию',
                                value: 'menu-send-admin',
                                emoji: '❤',
                                description: 'Вы подаете заявку на администрацию'
                            },
                            {
                                label: 'Что-то свое еще',
                                value: 'menu-others',
                            }
                        ]),
                );
    
                await interaction.reply({content: 'Вы успешно отправили Меню',  ephemeral:  true});
                await interaction.channel.send({ components: [menu-server], content: 'Меню сервера:' });
    	},
    };

    Дальше идем в InteractionCreate:
    if (interaction.isStringSelectMenu()) {
            if(interaction.customId === 'menu-server') {
                const value = interaction.values[0];
                switch(value) {
                    case 'menu-send-admin': {
                        await interaction.reply({content: 'Вы выбрали отправку на администрацию' ,  ephemeral:  true});
                    }
                    break;
                    case 'menu-others': {
                        await interaction.reply({content: 'Вы выбрали что-то другое',  ephemeral:  true});
                    }
                    break;
                    default:
                       break;
                }
            }
        }

    Вот, вроде как-то так.
    P.S немного проблемы с табуляцией. Думаю ты сам исправишь, если что.
    Ответ написан
    1 комментарий
  • Как переименовать категорию?

    Alexandre888
    @Alexandre888 Куратор тега Боты
    Javascript-разработчик
    message.guild.channels.cache.find(ch => ch.id === "740156461262569482" && ch.type === "category").setName("новое_название")
    Ответ написан
    Комментировать
  • Как заставить бота реагировать на своё сообщение?

    Alexandre888
    @Alexandre888 Куратор тега Боты
    Javascript-разработчик
    message.channel.send("сообщение").then(message => message.react("реакция"))
    Ответ написан
    2 комментария
  • Как привязать префикс и токен к index.js?

    Alexandre888
    @Alexandre888 Куратор тега Боты
    Javascript-разработчик
    вы - явный пример того, как не надо начинать обучение языку.
    это простейшая задача, описанная на первых страницах любого учебника.
    const config = require("./config.json")
    const token = config.token;
    const prefix = config.prefix
    Ответ написан
    2 комментария
  • Как сделать, чтобы бот Discord делал профиль игроку?

    oldzhmih
    @oldzhmih
    Есть ещё легче способ, ты берешь нужные строчки с сайт discord.js и делаешь профиль по ним, вот пример:
    const Discord = module.require("discord.js");
    const fs = require("fs");
    module.exports.run = async (bot,message,args) => {
        let a = message.author
        let embed = new Discord.RichEmbed()
        .setDescription("Информация о сервере")
        .setColor('#10c7e2')
        .addField("Имя",a.username)
        .addField("Тэг",a.tag)
        .addField("Дискриминатор",a.discriminator)
        .addField("Создание аккаунта",a.createdAt)
        .addField("ID",a.id)
        .addField("Вы бот?",a.bot)
        .setThumbnail(a.avatarURL)
    
        bot.send(embed);
    
    };
    module.exports.help = {
        name: "userinfo"
    };
    Ответ написан
    3 комментария