【问题标题】:Allow user input for discord.js Embed允许用户输入 discord.js 嵌入
【发布时间】:2021-02-08 02:22:56
【问题描述】:

我有一个用于赏金系统的嵌入机器人,用户可以获取人们设置的赏金。使用我的代码,用户可以使用 args 为嵌入设置标题。我试图让他们设置描述,可能这里的页脚是我的代码。任何帮助,将不胜感激。我在想类似的东西
!bounty 标题 + 描述,但我不知道如何在描述中允许用户输入我可以将机器人设置为 DM 并允许用户对每个字段进行输入,但我想要一些更用户友好和快速的东西。

if (!args[0]) return message.reply('You need to supply the question');
  let embed = new Discord.MessageEmbed()
    .setTitle(args.join(' '))
    .setDescription('Bounty posted by ' + message.author.tag)
    .addField('Status', 'Bounty is currently available.')
    .setColor('#ffd700')
    .attachFiles(new Discord.MessageAttachment('https://i.imgur.com/eGEKp8k.png', 'thumbnail.png'))
    .setThumbnail('attachment://thumbnail.png')
    .setFooter('Bot created by James (Rock)₇₇₇');

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    你可以做的是在你的命令中引入某种分隔符。这样您就可以将标题与描述分开。

    您首先需要做的是获取分隔符的索引。 注意:在此示例中,我使用分隔符 ->。你可以使用任何你想要的东西。

    let i = args.indexOf("->");
    

    接下来,我们通过从args 中的第一个元素切分到我们的分隔符点来获得标题。

    let Title = args.slice(0, i);
    

    接下来我们得到描述。我们通过切掉分离器之前的部分来实现这一点。完成后,我们将完全删除分隔符。

    let Description = args.slice(i);
    Description.shift();
    

    现在我们有了TitleDescription,我们可以将它们放入我们的嵌入中。 注意:请记住,我们现在有两个 arrays 作为标题和描述。

    let embed = new Discord.MessageEmbed()
        .setTitle(Title.join(" "))
        .setDescription(`Bounty posted by ${message.author.tag}
        ${Description.join(" ")}`)
        // the rest of your embed
    

    【讨论】:

    • 非常感谢您提供的信息!这就是我要找的东西!
    猜你喜欢
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 2021-04-19
    • 2016-10-13
    相关资源
    最近更新 更多