discord - 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
}
});
}
});
希望它对某人有用
解决方案
推荐阅读
- java-8 - 来自返回 Mono 的方法的 WebFlux 链接
- vuejs2 - 从父组件关闭对话框
- wordpress - 如何在自定义帖子类型永久链接中添加自定义分类?
- java - 单击相应复选框时,在动态网络表中查找金额的总和
- ios - 如何对 if-else 条件进行更优化的编码?
- transition - 苗条的过渡仅在第一次起作用
- adsense - Adsense 的最佳广告平衡是什么?
- angular - Angular Object.getPrototypeOf: 'this' 不是 IE11 中的对象
- sql - 恢复时间序列表中的值
- firebase - Crashlytics 仪表板显示无崩溃统计信息,但 ISSUES 表中没有崩溃