【问题标题】:presence.activity.game not showing gamePresence.activity.game 没有显示游戏
【发布时间】:2020-05-09 02:30:11
【问题描述】:

我做了一个userinfo 命令,它工作正常,但唯一的问题是,如果他们正在玩游戏,它不会显示用户的游戏。我使用命令时没有任何错误。我正在使用 12.1.1 的版本 discord.js

const {
    MessageEmbed
} = require("discord.js");
const moment = require("moment");

module.exports.run = async(bot, message, args) => {

    message.delete()

    const user = message.mentions.users.first() || bot.users.cache.get(args[0]) || message.author;
    if (!user) return;
    const userStatus = {
        online: "En ligne",
        idle: "Inactif",
        dnd: "Ne pas déranger",
        offline: "Hors ligne"
    }

    const emojiStatus = {
        online: "<:Online:697378421319270401>",
        idle: "<:Idle:697378421130395749>",
        dnd: "<:DND:697378421386248282>",
        offline: "<:Off:697378421264875594>"
    }

    if (user.bot) {
        isBot = "Yes";
    } else {
        isBot = "No";
    }

    const uiEmbed = new MessageEmbed()
        .setAuthor(user.username)
        .setColor(message.member.displayHexColor)
        .setThumbnail(user.displayAvatarURL({
            dynamic: true
        }))
        .addField("<:Discord:697378425178030171> Username and Tag", user.tag, true)
        .addField("<:ID:697380447876808716> ID", user.id, true)
        .addField(`${emojiStatus[user.presence.status]} Status`, userStatus[user.presence.status], true)
        .addField("<:Game:697380448447234148> Game", `${user.presence.activity ? user.presence.activity.name : "User isn't playing"}`, true)
        .addField("<:Bot:697378421163950152> Bot ?", isBot, true)
        .addField("<:Dis:697380487785873499> Account created at :", moment(user.createdAt).format("LL"), true)
    message.channel.send(uiEmbed);
}

module.exports.help = {
    name: "ui"
}

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:

    presence.activity 不是一个东西。你需要使用presence.activities,它返回一个Activity的数组。

    你可以得到第一个Activity

    .addField("<:Game:697380448447234148> Game", `${user.presence.activities[0] ? user.presence.activities[0].name : "User isn't playing"}`, true)
    

    或者您可以在activities 数组中找到activity 中的type PLAYING

    const activity = user.presence.activities.find(activity => activity.type === 'PLAYING') || null
    .addField("<:Game:697380448447234148> Game", `${activity !== null ? activity : "User isn't playing"}`, true)
    

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 2021-01-23
      • 2016-06-10
      • 2016-02-16
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多