中间件

中间件使用 grb.Middleware(MiddlewareCallback) 注册。跟事件一样,这个方法返回一个函数用于注销该中间件。MiddlewareCallbakc 的签名为 func(bot BotContext, msg message.Context, next func(...MiddlewareCallback) error) error,跟消息事件不同的是,中间件的回调函数参数中有一个额外的参数 next,只有调用了它才会进入接下来的流程。

使用中间件实现的 ping

grb.Middleware(func(bot BotContext, msg message.Context, next func(...MiddlewareCallback) error) error {
	if msg.String() == "ping" {
		msg.ReplyText("🏓")
	}
	next()
})