Od jakiegoś czasu piszę własnego bota dla serwera discord korzystając z discord js. Dodałem możliwość powiadomień kiedy ktoś wejdzie na któryś z kanałów głosowych (kod nie jest całkowicie mój dopiero się uczę, więc wykorzystuje przykładowe skrypty i staram się zrozumieć jak działają) i z ciekawości sprawdziłem co stanie się kiedy bot będzie dodany do kilku serwerów. Rezultat był taki, że bot poprawnie wysyła powiadomienia jednak na złym serwerze przykładowo ktoś wchodzi na kanał głosowy serwera A a powiadomienie o nowej aktywności pojawia się na kanale tekstowym serwera B i kiedy ktoś wejdzie na kanał głosowy serwera B powiadomienie nadal pokazuje się na kanale tekstowym serwera B. Więc tu moje pytanie jak zmodyfikować koda, aby potrafił rozróżnić serwery i poprawnie wysyłał powiadomienia.
client.on('voiceStateUpdate', (oldMember, newMember) => {
let newUserChannel = newMember.voiceChannel;
let oldUserChannel = oldMember.voiceChannel;
if(oldUserChannel === undefined && newUserChannel !== undefined && !oldMember.roles.find(r => r.name === `BOT`)){
client.channels.find(r => r.name === `powiadomienia`).send({embed: {
color: 1146986,
title: "Nowa aktywność",
description:":arrow_right: "+"__**"+newMember.displayName+"**__" + " dołączył do kanału " + "**"+newMember.voiceChannel.name+"**",
timestamp: new Date(),
footer: {
icon_url: newMember.user.avatarURL,
text: "Voice join"
}
}
});
} else if(newUserChannel === undefined && !newMember.roles.find(r => r.name === `BOT`)){
client.channels.find(r => r.name === `powiadomienia`).send({embed: {
color: 15158332,
title: "Nowa aktywność",
description:":arrow_left: "+"__**"+oldMember.displayName+"**__" + " opuścił kanał " + "**"+oldMember.voiceChannel.name+"**",
timestamp: new Date(),
footer: {
icon_url: newMember.user.avatarURL,
text: "Voice leave"
}
}
}
);
}
});