支持 MessageMatchDispatcher 直接转换成 MessageHandler ✨ (#161)
This commit is contained in:
parent
659bf1e522
commit
e6fcd53bd4
@ -12,6 +12,7 @@ type MessageDispatcher interface {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DispatchMessage 跟 MessageDispatcher 结合封装成 MessageHandler
|
// DispatchMessage 跟 MessageDispatcher 结合封装成 MessageHandler
|
||||||
|
// Deprecated: use MessageMatchDispatcher.AsMessageHandler instead
|
||||||
func DispatchMessage(dispatcher MessageDispatcher) func(msg *Message) {
|
func DispatchMessage(dispatcher MessageDispatcher) func(msg *Message) {
|
||||||
return func(msg *Message) { dispatcher.Dispatch(msg) }
|
return func(msg *Message) { dispatcher.Dispatch(msg) }
|
||||||
}
|
}
|
||||||
@ -85,6 +86,7 @@ type matchNode struct {
|
|||||||
type matchNodes []*matchNode
|
type matchNodes []*matchNode
|
||||||
|
|
||||||
// MessageMatchDispatcher impl MessageDispatcher interface
|
// MessageMatchDispatcher impl MessageDispatcher interface
|
||||||
|
//
|
||||||
// dispatcher := NewMessageMatchDispatcher()
|
// dispatcher := NewMessageMatchDispatcher()
|
||||||
// dispatcher.OnText(func(msg *Message){
|
// dispatcher.OnText(func(msg *Message){
|
||||||
// msg.ReplyText("hello")
|
// msg.ReplyText("hello")
|
||||||
@ -224,9 +226,17 @@ func (m *MessageMatchDispatcher) OnGroupByGroupName(groupName string, handlers .
|
|||||||
m.OnUser(f, handlers...)
|
m.OnUser(f, handlers...)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AsMessageHandler 将MessageMatchDispatcher转换为MessageHandler
|
||||||
|
func (m *MessageMatchDispatcher) AsMessageHandler() MessageHandler {
|
||||||
|
return func(msg *Message) {
|
||||||
|
m.Dispatch(msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type MessageSenderMatchFunc func(user *User) bool
|
type MessageSenderMatchFunc func(user *User) bool
|
||||||
|
|
||||||
// SenderMatchFunc 抽象的匹配发送者特征的处理函数
|
// SenderMatchFunc 抽象的匹配发送者特征的处理函数
|
||||||
|
//
|
||||||
// dispatcher := NewMessageMatchDispatcher()
|
// dispatcher := NewMessageMatchDispatcher()
|
||||||
// matchFuncList := MatchFuncList(SenderFriendRequired(), SenderNickNameContainsMatchFunc("多吃点苹果"))
|
// matchFuncList := MatchFuncList(SenderFriendRequired(), SenderNickNameContainsMatchFunc("多吃点苹果"))
|
||||||
// dispatcher.RegisterHandler(matchFuncList, func(ctx *MessageContext) {
|
// dispatcher.RegisterHandler(matchFuncList, func(ctx *MessageContext) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user