如何使机器人在某一个时间段时 部分指令和事件监听器不被触发?

比如:我想让机器人在每天的0点到6点收到任何消息时,都直接回复一张提醒睡觉小助手,并且不触发(可能的)其他指令和事件监听器


要通过什么方式来实现呢?

1 个赞

你是typescript写插件吗?(
blockly不知道
注册一个前置中间件,判断时间,回复图片链接
过滤器,,,,应该没有时间?(

2 个赞

是的()
但是前置中间件好像不能阻止消息流向下面的事件监听器……吧(
下面的指令也是

1 个赞

?
只有你next()了下面的才会继续(
直接return就行

2 个赞

事件。。?
可能不清楚

2 个赞

我刚才试了一下 前置中间件不return next()只会影响后面的中间件
可是我希望指令和事件监听器都不被触发()

1 个赞

一个插件如果使用了事件监听器,那么说明他希望获得所有来自机器人的事件,一条都不能少。这种情况下你无法拦截它们。

指令可以被中间件拦截,你需要创建前置中间件。

2 个赞

奥 确实可以拦截指令 确实拦截不了事件监听器 刚才写错了()

那我如果只想获得某一时间段之外的事件呢 这个可以不利用事件监听器实现吗()

2 个赞

你是要 一条都不能少 地获取某一时间段之外的事件吗?

1 个赞

是的(虽然目前还没有这种需求

1 个赞

只有事件监听器可以实现。

1 个赞

好8()
那我还是把现有的消息事件监听器换成中间件好了 感谢你们的解答!

2 个赞