未调用discord.js“presenceupdate”

6vl6ewon  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(393)

我有一个“特殊用户”,它等于“client.users.fetch(特殊用户id)”。然后用户有两个事件监听器连接到it,“message”和“presenceupdate”,消息事件监听器工作得非常完美,尽管presenceupdate根本不工作,但非常感谢所有帮助!

require("dotenv").config();
const Discord = require(`discord.js`);
const Client = new Discord.Client();

Client.on("ready", () => {
    console.log(`\tClient Ready`);
});

var SpecialUser = Client.users
    .fetch(process.env.ID)
    .then((User) => {
        console.log(User.username);
        // Working
        User.client.addListener("message", (message) => {
            console.log("message");
        });
        // Not Working
        User.client.addListener("presenceUpdate", (Old, New) => {
            console.log(`Presence Updated`);
        });
    })
    .catch(console.error);

Client.on("message", (message) => {});

Client.login(process.env.TOKEN);
vsikbqxv

vsikbqxv1#

如果 presenceUpdate 事件不会触发,您可能需要添加 GUILD_PRESENCES 意图使用客户端选项:

require('dotenv').config();
const Discord = require(`discord.js`);

const Client = new Discord.Client({ ws: { intents: ['GUILD_PRESENCES'] } });

// rest of your code...

... 或者在您的discord Jmeter 板中;通过选择您的机器人,然后单击 Bot 设置:

相关问题