首页 > 解决方案 > 收集消息的问题

问题描述

当我对此进行测试时,它运行良好,但机器人总是发送"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 :(');
          });
      });
  }
});

标签: javascriptdiscord.js

解决方案


由于您有时间限制,因此该时间限制之后的消息总是会产生异常。但在赶上你检查如下:

.catch((collected) => {
    if (collected.size === 0) {
        message.channel.send('no one said uwu :(');
    }
});

推荐阅读