timer - 定时器到时如何执行命令
问题描述
我最近一直在处理这段代码,我在这里找到了: Discord.js reply to message then wait for reply
我想知道当计时器关闭而没有任何答案时,脚本是否有任何方法可以运行命令。
我试过把命令放在收集器的代码块之外,我试过放一个if (timer > 10000)
,但没有用。
if (command === 'spec') {
message.author.send("See or Change?");
const collector = new Discord.MessageCollector(message.channel, m => m.author.id === message.author.id, {
time: 10000
});
console.log(collector);
collector.on('collect', message => {
if (message.content == "See") {
message.channel.send("You Want To See Someones Spec OK!");
} else if (message.content == "Change") {
message.channel.send("You Want To Change Your Spec OK!");
}
});
}
当时间结束时,我希望脚本更改使用它的用户的昵称。
解决方案
您可以收听收集器的结束事件并检查收集的消息的大小。
collector.on('end', collected => {
if (collected.size === 0) {
// do something
}
});
推荐阅读
- spring - 使用 spring-data-elasticsearch 时出错:3.1.0.M3
- c# - 访问类文件中的会话
- python - Image Processing Algorithm design: how to get front images from an angled camera?
- swift - Opening another screen by clicking on UICollectionViewCell
- spring - 无法创建 Spring Data jpa 存储库 bean 获取 BeanCreationException:
- elki - 如何在 Elki 中使用数组而不是 NumberVector
- c# - 更新实体中的集合会引发“无法为表中的标识列插入显式值”
- react-native - 当 redux 重新渲染包含 StackNavigator 的视图时,它会将自身重置为初始屏幕
- php - 如何将 .htaccess 文件中的条件转换为 web.config
- ruby-on-rails - Rails 中的相关内容。用户选择要关联的内容。怎么做?有很多?属于?