ここなにも書くことないりょうです
今回はDiscordでたくさんの情報をカッチョイイ感じに整理できるEmbedの使い方。
使えるようになると便利だし見やすいので覚えましょ
Embedとはなんぞや
まず、Embedがなんのことかわからない人もいると思います。
まああれです、埋め込みです(語彙力皆無)
こんなの↓
こいつの書き方についての解説記事になってます。ではれっつごー
Embedの各部名称
以前私もお世話になったこちらの記事から引用させていただきます🙇♀
それぞれの説明です |
---|
Author [name, iconURL] |
bot名、アイコン表示 |
Title |
Embedのタイトルとなる部分です。 |
Description |
Embedの説明を入れるとこです。 |
Thumbnail [url] |
Embedのサムネイルです。 |
Fields [name, value, inline] |
いろんなのをいれていくところです。inlineを活用して横にも並べられます |
Image |
画像を入れるところです |
Footer [text, iconURL] |
フッターです。Embedに関連する情報や画像を置くところ (左下にあるちっさい画像と©exampleなんちゃらってとこです) |
TimeStamp |
時刻を表示するところです。設定次第では現在時刻以外でも表示可 |
Color |
Embedの右側に出てる色です。 |
EmbedBuilder
ここからはEmbedを作っていきます。
discord.js v14からMessageEmbedに替わってEmbedBuilderが出ました。
これを使います。
const { EmbedBuilder } = require('discord.js');
/**
うんたらかんたらぴゃー
**/
const embed = new EmbedBuilder()
.setAuthor({ name:bot名, iconURL:アイコンURL })
.setTitle('Embedのタイトル')
.setDescription('Embedの説明')
.setThumbnail('サムネイルURL')
.addFields({ name: 'fieldのタイトル', value: 'fieldの内容' })
.setImage('画像URL')
.setFooter({ text: 'フッターに表示したい内容', iconURL: 'アイコンURL' })
.setTimestamp()
.setColor('好きな色');
message.channel.send({ embeds: [embed] });
// await interaction.reply({ embeds: [embed] });
こんなかんじ。
各部注意点
.addFields()
sを忘れないように書いてください。
Fieldは1つのEmbedに25個まで含めることができます
inline
(3つまでFieldsを横に並べられる)も活用して縦に長くなりすぎないよう注意したほうがいいと思います。
ただし、thumbnailを設定している場合は2つまでしか横並びにすることができません。
複数個の場合
.addFields(
{ name: 'field2️⃣', value: '2つめのfieldだよ', inline: true },
{ name: 'field1️⃣', value: '1つめのfieldだよ', inline: true },
);
.setTimestamp()
Timestampは、特に設定せずこのまま使えば現在時刻が表示されます。
.setColor()
色の指定形式は('#FFFFFF')
もしくは(0xFFFFFF)
のようにしてください。
マークダウンについて
Embed内でマークダウン(文字を太くしたりする装飾)が行える場所は限られています。
Description、Fieldsのvalueのみです。
また、#を使うものはできないので注意。*
や~
などは使えます
まとめ
Embedは慣れると簡単に情報まとめられるから超便利です
なにかわからないこと等あれば書いてくれれば返答させてもらいます!
Discordに湧いてる荒らしの情報や対策法の共有を行っている自鯖です↓
https://discord.gg/ESRGwGQhxc