javascript - 收集消息的问题
问题描述
当我对此进行测试时,它运行良好,但机器人总是发送"no one said uwu :("
client.on('message', message => {
if (message.content === '$uwu') {
message.channel.send('say uwu! - i will count how many people say uwu in 30 seconds')
.then(() => {
message.channel.awaitMessages(response => response.content === 'uwu', {
max: 100000000,
time: 5000,
errors: ['time'],
})
.then((collected) => {
message.channel.send(`${collected.first.size} people said uwu`);
})
.catch(() => {
message.channel.send('no one said uwu :(');
});
});
}
});
解决方案
由于您有时间限制,因此该时间限制之后的消息总是会产生异常。但在赶上你检查如下:
.catch((collected) => {
if (collected.size === 0) {
message.channel.send('no one said uwu :(');
}
});
推荐阅读
- html - 为什么我的 React 渲染的 HTML 元素在刷新后会改变位置?
- c# - 比较文本框值
- windows-10 - 使用 java11 运行 javafx 应用程序时出现“java.lang.RuntimeException:未找到工具包”错误
- android - 地点选择器在启动后自动关闭
- haskell - 如何将解释器带到 IO monad?
- r - 如何从 dplyr 数据框中的每个组中选择最后 N 个观察值?
- java - 使用套接字流式传输视频
- javascript - FizzBuzz:15 在换行符上显示 Fizz 但没有 Buzz。为什么?只需要澄清
- c# - 撤销 .net Web API 2 和实体框架中的 access_token
- python - Python:避免嵌套的 for-loop NLP 版本;任何库支持?