Discord.JS v12 移至语音频道

时间:2021-01-09 02:31:43

标签: discord discord.js

通过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
            }
        });
    }
});

希望对大家有用

0 个答案:

没有答案