允许用户输入 discord.js 嵌入

詹姆斯·刘易斯

我有一个用于赏金系统的嵌入机器人,用户可以通过该系统获取人们设置的赏金。使用我的代码,用户可以使用 args 为嵌入设置标题。我试图让他们设置描述,这里的页脚可能是我的代码。任何帮助,将不胜感激。我在想像
!bounty Title + Description这样的东西,但我不确定如何允许用户在描述中输入我可以将机器人设置为 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)₇₇₇');
值得的羊驼

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

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

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

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

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

接下来我们得到描述。我们通过在分隔符之前切掉部分来获得它。完成后,我们将完全移除分隔符。

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章