繁体   English   中英

获取提及用户的存在/活动

[英]Get presence/activity of mentioned user

我正在尝试在 Discord JS 中为我的机器人创建一个命令,当触发该命令时,会获取命令中提到的用户并检索他们当前的游戏(如果没有游戏,则为状态)并发送一条消息说提到的用户已经玩了一段时间游戏(如果可能,请发送游戏图像(如果有的话)。

这是我当前的代码:

module.exports = {
    name: 'game',
    aliases: ['gm', 'status'],
    category: 'Commands',
    utilisation: '{prefix}game',

    execute(client, message) {
        let msgMention = message.mentions.members.first() || message.guild.member(message.author)

        console.log(msgMention.presence.activities[0])

        message.channel.send(msgMention.presence.activities[0].name);
    },
};

它对.name扩展名所做的一切都说 name 是未定义的,如果我删除.name它说不能发送空消息。 另外,我提到我自己目前正在玩一个在我的 discord 活动状态上公开显示的游戏。 我该怎么做才能真正读取活动的名称和时间然后发送它?

您需要GUILD_PRESENCES意图。

const { Client, Intents } = require('discord.js');

const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_PRESENCES] });

另外顺便说一句,我建议使用message.member而不是message.guild.member(message.author)

let msgMention = message.mentions.members.first() || message.member

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM