如何使用Discord机器人嵌入邮件?

时间:2020-09-26 00:52:58

标签: javascript discord discord.js bots embed

我想编写一个可以将用户发送的消息嵌入特定频道的漫游器。如果您对GTA RP服务器一无所知,那就像是Twitter或Instagram机器人。

这是一个例子:

screenshot of example embeds

我认为这与console.log和作者的名字有关,但是我不确定,所以这就是我在这里的原因。如何嵌入用户的消息,例如 这个吗?

2 个答案:

答案 0 :(得分:0)

您可以使用MessageEmbed(例如,programmerRaj所说),也可以使用MessageOptions中的embed属性:

const {MessageEmbed} = require('discord.js')

const embed = new MessageEmbed()
  .setTitle('some title')
  .setDescription('some description')
  .setImage('image url')

// These two are the same thing
channel.send(embed)
channel.send({embed: {
  title: 'some title',
  description: 'some description',
  image: {url: 'image url'}
}})

要在特定频道中发送用户信息,您可以执行以下操作,其中client是Discord.js Client

// The channel that you want to send the messages to
const channel = client.channels.cache.get('channel id')

client.on('message',message => {
  // Ignore bots
  if (message.author.bot) return
  // Send the embed
  const embed = new MessageEmbed()
    .setDescription(message.content)
    .setAuthor(message.author.tag, message.author.displayAvatarURL())
  channel.send(embed).catch(console.error)
})

请注意,以上代码将发送条消息,而不是由僵尸程序发送的,因此您可能需要对其进行修改,以使其仅在需要时发送。

>

我建议阅读Discord.js' guide on embedsarchive)或上面链接的文档,以获取有关如何使用嵌入的更多信息。

答案 1 :(得分:0)

我认为你需要的是:

const Discord = require('discord.js');

const client = new Discord.Client()

client.on("message", async message =>{

    if(message.author.bot) return;
    if(message.channel.id === 'channelID'){
        message.delete();
        const newEmbed = new Discord.MessageEmbed()
        .setAuthor(message.author.tag, message.author.displayAvatarURL())
        .setDescription(`${message.content}`)
        .setColor('#d32256')
        .setImage(message.attachments.first().proxyURL)
        .setTimestamp()
        .setFooter('Instagram', 'ImageOfInsta');
        message.channel.send(newEmbed);
    },
    });

其中 channelID 表示:您希望机器人重新发布它的频道和 ImageOfInsta:instagram 徽标的图像!我通常先下载图片或标志,然后在 Discord 中重新上传。然后我在我的代码中使用 Discord Image 的链接。

P.S 此代码仅在您上传带有短信的图片时有效!