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将为您提供该成员,您可以获得该成员的角色+还可以添加新角色
出席:
成员: