Имя пользователя в боте discord для встраивания нижнего колонтитула

#javascript #discord #discord.js #bots

#javascript #Discord #discord.js #боты

Вопрос:

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

 const exampleEmbed = new Discord.MessageEmbed()

.setColor('#000033')
.setTitle('```Help```')
.setDescription('For more help, type .help (command)')
.addFields(
    { name: '.list', value: 'Opens list of all the achievements' },
    { name: '.profile', value: 'Opens achievement statistics from a member', },
    { name: '.leaderbord', value: 'Opens a leaderbord of the members with most achievements', },
    { name: '.bot', value: 'Opens bot links and information about the bot', },
    { name: '.setup', value: 'Starts the setup of the bot (only for administrators)', }
)
.setTimestamp()
.setFooter("here should the name stand")

    client.on("message", (message) => {
        if (message.content == ".help") {
            message.channel.send(exampleEmbed)
            console.log(message.member.user.tag  ' executed command .HELP')
        }
    })
 

Ответ №1:

Вы ищете .setFooter(message.author.username)

Полный код:

     client.on("message", (message) => {
        if (message.content == ".help") {
             const exampleEmbed = new Discord.MessageEmbed()
               .setColor('#000033')
               .setTitle('```Help```')
               .setDescription('For more help, type .help (command)')
               .addFields(
                  { name: '.list', value: 'Opens list of all the achievements' },
                  { name: '.profile', value: 'Opens achievement statistics from a member', },
                  { name: '.leaderbord', value: 'Opens a leaderbord of the members with most achievements', },
                  { name: '.bot', value: 'Opens bot links and information about the bot', },
                  { name: '.setup', value: 'Starts the setup of the bot (only for administrators)', }
               )
               .setTimestamp()
               .setFooter(message.author.username);

            message.channel.send(exampleEmbed)
            console.log(message.member.user.tag  ' executed command .HELP')
        }
    })
 

как упоминалось ниже, вам нужно поместить свой embed в прослушиватель событий сообщений

Комментарии:

1. Если я это сделаю, при запуске в PowerShell появится сообщение об ошибке ошибка ссылки, сообщение не определено

2. @hubschrauber Лучше всего поместить ваше встраивание в MessageEvent, потому что вы хотите использовать message то, что не определено вне вашего MessageEvent.