generated at
ユーザーのアバターを取得する
UserクラスにあるdisplayAvatarURLavatarURLでユーザーのアバターURLを取得することが可能
#v13.2 Guild Avatarsを扱うためには以下を使用する。
Guild Avatarが指定されていない場合は null が帰る。
推奨
avatarURL はユーザーがアバターを設定していない場合は null が返ってくるので注意
displayAvatarURL はユーザーがアバターを設定していない場合、デフォルトのアバターURLが返るようになっているので null が返ることはない。
画像のフォーマットを変更する場合、
v13まで→ format オプションを使う。
avatarURL({ format: 'png' })
v14以降→ extension オプションを使う。
avatarURL({ extension: 'png' })
デフォルトの画像フォーマットは webp
指定できるフォーマットは次のうちのどれか
webp, png, jpg, jpeg, gif
ユーザーのアバターがGIF形式だった場合に、GIFのURLを取得したい場合は dynamic オプションを使う。
デフォルトは false
avatarURL({ dynamic: true })
画像のサイズを指定したい場合は、 size オプションを使う。
指定できるサイズは次のうちのどれか
16, 32, 64, 128, 256, 512, 1024, 2048, 4096
avatarURL({ size: 128 })

URLを取得して送信する例
js
const { Client } = require('discord.js') const client = new Client() client.on('messageCreate', message => { if (message.content === '!avatar') { message.channel.send(message.author.avatarURL() ?? 'アバターが設定されてないよ。') } })

Guild AvatarsのURLを取得して送信する例
js
const { Client } = require('discord.js') const client = new Client() client.on('messageCreate', message => { if (message.content === '!guildavatar' && message.guildId) { message.channel.send(message.member.avatarURL() ?? 'アバターが設定されてないよ。') } })

#v12 v13でStructuresは廃止
上級者向け
オプションで毎回画像フォーマットを指定するのがめんどくさいという人に
avatarURL displayAvatarURL を使用するとPNG形式のアバターURLが返ってくる。
ユーザーのアバターがGIF形式なら、GIF形式のアバターURLが返ってくる。
Structuresクラスを使用してUserクラスを拡張している。
js
const { Structures, Client } = require('discord.js') Structures.extend('User', BaseClass => class extends BaseClass { avatarURL (options) { return super.avatarURL(Object.assign(options || { format: 'png' }, { dynamic: true })) } displayAvatarURL (options) { return super.displayAvatarURL(Object.assign(options || { format: 'png' }, { dynamic: true })) } }) const client = new Client() // 上記のコードはクライアントのインスタンスを作る前に書かないといけない。 client.on('message', message => { if (message.content === '!avatar') { message.channel.send(message.author.avatarURL() || 'アバターが設定されてないよ。') } })