Discord.JS v12 перемещение в голосовой канал
С помощью voiceStateUpdate отслеживаю перемещение пользователя из одного голосового канала в другой. Но как отловить ситуацию, если пользователя кто-то перетащил в другой голосовой канал?
Пробовал искать в логах сервера:
logs.entries.first().executor.id;
Но в случае самовольного перехода и перетаскивания выдаёт одно и то же.
Я не получил ответа. Но я придумал свой вариант:
client.on("voiceStateUpdate", (oldState, newState) => {
let oldChannel = oldState.channel;
let newChannel = newState.channel;
let oldMember = oldState.member;
let newMember = newState.member;
if(oldState.channel && newState.channel && newChannel !== oldChannel) {
//Get log
newMember.guild.fetchAuditLogs().then(logs => {
//Get first
let firstEv = logs.entries.first();
if (Date.now() - firstEv.createdTimestamp < 5000) {
//dragging
} else {
//no dragging
}
});
}
});
Надеюсь, кому-нибудь пригодится