Events Discord.js在用户键入时检测
我是否有可能检测到用户是否开始/停止键入? 我使用Discord.js网页包版本12,但似乎找不到任何解决方案?您可以使用该事件,该事件将在用户开始键入时触发Events Discord.js在用户键入时检测,events,discord.js,bots,typing,Events,Discord.js,Bots,Typing,我是否有可能检测到用户是否开始/停止键入? 我使用Discord.js网页包版本12,但似乎找不到任何解决方案?您可以使用该事件,该事件将在用户开始键入时触发 client.on('typingStart',(频道,用户)=>{ console.log(`${user.username}正在${channel.name}`中键入) }; 还有一种方法,它将检查用户是否在指定的频道中键入,并返回一个布尔值 if(.typingIn()) log(${.username}中键入的“${.user
client.on('typingStart',(频道,用户)=>{
console.log(`${user.username}正在${channel.name}`中键入)
};
还有一种方法,它将检查用户是否在指定的频道中键入,并返回一个
布尔值
if(.typingIn())
log(${.username}中键入的“${.username}”);
(也可以使用和方法)
最后,您可以查看TextChannel
的属性,以检测是否有人在该频道中键入内容
if(.typing)
log(`someone正在键入${channel.name}`);
(您也可以使用该属性查看给定频道中有多少人在键入)我遇到了同样的问题,我使用JavaScript中内置的setTimeout()
函数解决了它。下面是我的代码片段:
client.on("typingStart", function(channel, user){
//What you want to execute while someone is typing...
console.log('User is typing!')
setTimeout(() => {
//What you want to execute when someone stops typing...
console.log('User is no longer typing')
}, 5000)
})
你可以随意更改5000
的值,它代表某人停止键入后代码等待的时间,单位为毫秒。我认为5000
很好,但这取决于你。哇,它起作用了,谢谢,但当用户停止键入时是否也会调用一个事件?不幸的是,没有。你可以访问文档页面来竞争w everydiscord.js
事件,如果你好奇的话。设置一个超时,它总是会被重新创建为输入字段的onChange,并触发你的“停止键入”。这就是我们解决停止键入问题的方法哦,好的,我只是使用了一个onmessage事件作为“停止键入事件”。它可能并不总是正确的,但没问题