EmbedBuilderを使って埋め込みを送信するサンプル
code:js
const { Client, EmbedBuilder, GatewayIntentBits } = require('discord.js');
const options = {
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
};
const client = new Client(options);
client.on('messageCreate', message => {
if (message.content === '!embed') {
const embed = new EmbedBuilder()
.setTitle('埋め込みのタイトル')
.setFields({ name: 'name', value: 'value'})
.setColor('Random')
.setTimestamp()//引数にはDateオブジェクトを入れることができる。何も入れないと今の時間になる
message.channel.send({ embeds: embed }) }
})
client.login('token')
実行結果:
https://gyazo.com/27c0321ade2c92544661fa5a711f1fc5
code:embed.js
const embed = new EmbedBuilder()
.setTitle('埋め込みのタイトル 256字まで')
.setDescription('埋め込みの説明 4096字まで')
.setAuthor({
name: '著者名 256字',
})
.setFields(
{
name: 'json形式で書けるフィールド、こっちは名前で最大256字',
value:'フィールドの値 ※1024字まで'
},
{
name: '{name:"name",value:"value"}で1セット',
value:'足りないとエラーが出る'
}
)
.addFields({name: 'inline: trueを加えることで', value: 'インラインにできる', inline: true})
.setColor('#00ff00')
.setFooter({
text: '埋め込みのフッター 2048字まで\n埋め込み全体の文字数は6000字まで\n一つのメッセージで送れる埋め込みは10個'
})
.setTimestamp()
message.channel.send({ embeds: embed });