【问题标题】:Small discord.js Avatar image小discord.js头像图片
【发布时间】:2021-02-10 10:13:48
【问题描述】:

头像问题示例

我正在尝试执行 discord.js 头像命令并且它有效。它发送它需要发送的图像,但问题是与其他机器人相比,发送的图像很小。我正在使用 discord.js 指南中的命令处理程序

const Discord = require('discord.js');
module.exports = {
    name: 'avatar',
    description: 'Get the avatar URL of the tagged user(s), or your own avatar.',
    aliases: ['av', 'a'],
    usage: '[commandname]',
    cooldown: 10,
    execute(message) {
        if (!message.mentions.users.size) {
            const embed = new Discord.MessageEmbed()
                .setTitle(message.author.username)
                .setColor(0x00ffff)
                .setImage(message.author.displayAvatarURL({ format: 'png' }));
            return message.channel.send(embed);
        }

        const mention = message.mentions.members.first();
        const Embed = new Discord.MessageEmbed()
            .setTitle(message.mentions.users.first().username)
            .setColor(0x00ffff)
            .setImage(mention.user.displayAvatarURL({ format: 'png' }));
        return message.channel.send(Embed);

    },
};

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    从这里更改代码:

    const embed = new Discord.MessageEmbed()
                    .setTitle(message.author.username)
                    .setColor(0x00ffff)
                    .setImage(message.author.displayAvatarURL({ format: 'png' }));
                return message.channel.send(embed);```
    

    到这里:

    const embed = new Discord.MessageEmbed()
                    .setTitle(message.author.username)
                    .setColor(0x00ffff)
                    .setImage(message.author.displayAvatarURL({ dynamic: true }));
                return message.channel.send(embed);```
    

    您只需要在图像中添加动态过滤器并删除格式过滤器,以便它可以与 gif 图像一起使用,或者即使用户在 pic 中有 gif,图像也会是静态的。

    【讨论】:

      【解决方案2】:
      .setImage( user.displayAvatarURL({dynamic: true ,  size: 4096}))
      

      dynamic:true 使您的头像支持所有格式。如果用户头像是 gif 则为 gif,如果为 png 则为 png 等等。

      如果没有它,拥有 nitro 动画头像的用户将在命令时冻结他们的头像。

      【讨论】:

        【解决方案3】:

        对此有几种不同的解决方案,但我使用和喜欢的一个是:

        message.author.displayAvatarURL() + "?size=2048"
        

        如果你想要一个完整的头像命令,你可以用这个 ^ 做任何你想做的事情,它:

        let embed = new Discord.MessageEmbed();
          if (!message.mentions.users.first()) {
            embed.setColor("00ff00");
            embed.setFooter("Your avatar!");
            embed.setImage(message.author.displayAvatarURL() + "?size=2048");
            message.channel.send(embed);
          } else {
            let user = message.mentions.users.first();
            embed.setFooter(`${user.tag}'s avatar!`);
            embed.setImage(message.mentions.users.first().displayAvatarURL() + "?size=2048");
            embed.setColor("#00ff00");
            message.channel.send(embed);
          }
        

        (Discord.js v12)

        【讨论】:

          【解决方案4】:

          您可以像使用格式一样添加大小选项

          .displayAvatarURL({ format: 'png', size: size_you_want }));
          

          尺寸为以下16、32、64、128、256、512、1024、2048、4096之一,更多信息可以在这里查看选项https://discord.js.org/#/docs/main/stable/typedef/ImageURLOptions

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-11-21
            • 1970-01-01
            • 2021-09-24
            • 2021-09-01
            • 2018-10-15
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多