Discord.js 检测用户何时输入
Discord.js detect when user is typing
我是否有可能检测到用户 starts/stops 正在打字?
我使用 Discord.js Webpack Version 12,我似乎找不到任何解决方案?
您可以使用 typingStart()
事件,该事件将在用户开始输入时触发。
client.on('typingStart', (channel, user) => {
console.log(`${user.username} is typing in ${channel.name}`)
};
还有User.typingIn()
方法,会检查用户是否在指定频道输入,return一个boolean
.
if (<user>.typingIn(<channel>))
console.log(`${<user>.username} in typing in ${<channel>.name}`);
(您也可以使用typingDurationIn()
and typingSinceIn()
方法)
最后,您可以查看 TextChannel
的 TextChannel.typing
属性 来检测是否有 任何人 在该频道中输入。
if (<channel>.typing)
console.log(`Somebody is typing in ${channel.name}`);
(您还可以使用 typingCount
属性 来查看 很多 人在给定频道中的输入情况)
我运行遇到了同样的麻烦,我使用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
很好,不过要看你的了。
我是否有可能检测到用户 starts/stops 正在打字? 我使用 Discord.js Webpack Version 12,我似乎找不到任何解决方案?
您可以使用 typingStart()
事件,该事件将在用户开始输入时触发。
client.on('typingStart', (channel, user) => {
console.log(`${user.username} is typing in ${channel.name}`)
};
还有User.typingIn()
方法,会检查用户是否在指定频道输入,return一个boolean
.
if (<user>.typingIn(<channel>))
console.log(`${<user>.username} in typing in ${<channel>.name}`);
(您也可以使用typingDurationIn()
and typingSinceIn()
方法)
最后,您可以查看 TextChannel
的 TextChannel.typing
属性 来检测是否有 任何人 在该频道中输入。
if (<channel>.typing)
console.log(`Somebody is typing in ${channel.name}`);
(您还可以使用 typingCount
属性 来查看 很多 人在给定频道中的输入情况)
我运行遇到了同样的麻烦,我使用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
很好,不过要看你的了。