我想编写一个机器人,能够在特定频道嵌入用户发送的信息。如果你了解GTA RP服务器,这有点类似于Twitter或Instagram的机器人。
以下是一个示例:
我认为涉及到使用`console.log`和作者名称,但我不确定,所以才会来这里问。如何像这样嵌入用户的消息?
以下是一个示例:
![screenshot of example embeds](https://istack.dev59.com/YV84p.webp)
你可以像programmerRaj所说的那样使用一个MessageEmbed
,或者使用MessageOptions
中的embed
属性:
const {MessageEmbed} = require('discord.js')
const embed = new MessageEmbed()
.setTitle('some title')
.setDescription('some description')
.setImage('image url')
// Discord.js v13
// These two are the same thing
channel.send({embeds: [embed]})
channel.send({
embeds: [{
title: 'some title',
description: 'some description',
image: {url: 'image url'}
}]
})
// Discord.js v12
// 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({embeds: [embed]}).catch(console.error)
// Discord.js v12:
// channel.send(embed).catch(console.error)
})
first
是一个方法,setImage
接受一个 URL,所以你需要使用 .setImage(message.attachments.first().url)
。 - Lauren Yim你所需要的是:
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图像的链接。
附言:此代码仅在您上传带有文本消息的图像时才有效!
这个链接将带您进入一个在线嵌入工具,根据您的愿望和想法自动创建Discord嵌入。这肯定会对您有所帮助。
MessageEmbed
。https://discord.js.org/#/docs/main/stable/class/MessageEmbed - programmerRaj