【问题标题】:discord.js getting the avatar from a user data doesn't workdiscord.js 从用户数据中获取头像不起作用
【发布时间】:2021-04-02 23:42:50
【问题描述】:

我正在尝试从 json 文件中获取用户数据,他们的数据存储方式如下

{
    "dq9": {
        "orderID": "dq9",
        "guildID": "808393863092764682",
        "guild": "Cat Club 1.6",
        "channelID": "826760001070039091",
        "order": "pizza pollo",
        "customer": {
            "id": "610915422723637268",
            "system": null,
            "locale": null,
            "flags": 128,
            "username": "GD GangstaCat",
            "bot": false,
            "discriminator": "4882",
            "avatar": "dc2f9c139e245e8f707a50e20bc6dace",
            "lastMessageChannelID": "826760001070039091",
            "createdTimestamp": 1565723987037,
            "defaultAvatarURL": "https://cdn.discordapp.com/embed/avatars/2.png",
            "tag": "GD GangstaCat#4882",
            "avatarURL": "https://cdn.discordapp.com/avatars/610915422723637268/dc2f9c139e245e8f707a50e20bc6dace.webp",
            "displayAvatarURL": "https://cdn.discordapp.com/avatars/610915422723637268/dc2f9c139e245e8f707a50e20bc6dace.webp"
        },
}

现在是命令代码

let ticketID = args[0];

            fsn.readJSON("./orders.json").then((orderDB) => {
                const order = orderDB[ticketID];
                
                if(order === undefined) {
                    message.reply(`Couldn't find order \`${args[0]}\` Try again.`);

                    return;
                }

                const OrderEmbed = new Discord.MessageEmbed()
                .setColor('#FFFF33')
                .setTitle(`${order.customer.tag} (${order.customer.id})`)
                .setAuthor(`Order ID: ${args[0]}\nOrder status: ${order.status}`)
                .setThumbnail(order.customer.avatarURL())
                .setDescription(order.order)
                .setTimestamp()
                .setFooter(`From ${order.guild} (${order.guildID})`);
            
                message.channel.send(OrderEmbed);

根本不起作用,给出错误order.customer.avatarURL is not a function 其他类似order.customer.tag 的工作很好,但头像没有任何帮助?

【问题讨论】:

  • 不是函数,所以用order.customer.avatarURL代替order.customer.avatarURL()

标签: node.js discord.js


【解决方案1】:

删除order.customer.avatarURL()末尾的()

           .setThumbnail(order.customer.avatarURL())

像这样:

            .setThumbnail(order.customer.avatarURL)

() 表示您将其作为函数调用。它不是一个函数。

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2020-11-21
    • 2016-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多