Javascript 当某人开始流媒体时自动扮演角色

Javascript 当某人开始流媒体时自动扮演角色,javascript,node.js,discord.js,Javascript,Node.js,Discord.js,我想为用户设置一个角色,如果他/她开始流式处理并在流式处理中发送消息。但是我一直收到这样一个错误,TypeError:无法读取未定义的'add'。 client.on('presenceUpdate', (oldMember, newMember) => { const guild = newMember.guild; const streamingRole = guild.roles.cache.find(role => role.id === 'streamer'

我想为用户设置一个角色,如果他/她开始流式处理并在流式处理中发送消息。但是我一直收到这样一个错误,
TypeError:无法读取未定义的'add'。

client.on('presenceUpdate', (oldMember, newMember) => {
    const guild = newMember.guild;
    const streamingRole = guild.roles.cache.find(role => role.id === 'streamer');
    if (newMember.user.bot) return;
    if (newMember.user.presence.activities.streaming) { // Started playing.
        let announcement = `Ebrywan ${newMember} just started streaming`;
        let channelID = client.channels.cache.find(channel => channel.name.toLowerCase() === "streaming");
        if (channelID) channelID.send(announcement);
        newMember.roles.add(streamingRole)
        console.log(`${streamingRole.name} added to ${newMember.user.tag}`)
    }
});

从文档中我可以看到,newMember是一个状态,而不是一个用户,您也可以添加一个角色。尝试:

newMember.member.roles.add(streamingRole)
.member将为您提供该成员,您可以获得该成员的角色+还可以添加新角色

出席: 成员: