feat: 添加cqjson处理和url处理
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
type Handler func(msg model.Message) (reply model.Reply)
|
||||
|
||||
var handlers = make(map[string]Handler)
|
||||
var frontMatchHandlers = make(map[string]Handler)
|
||||
var liveHandlers = make(map[int64]map[int64]Handler)
|
||||
var privateAllHandler Handler
|
||||
|
||||
@@ -21,6 +22,10 @@ func RegisterHandler(trigger string, handler Handler) {
|
||||
handlers[trigger] = handler
|
||||
}
|
||||
|
||||
func RegisterFrontMatchHandler(trigger string, handler Handler) {
|
||||
frontMatchHandlers[trigger] = handler
|
||||
}
|
||||
|
||||
func RegisterLiveHandler(groupID int64, userID int64, handler Handler) { //userID=-1 means for all users in groupID
|
||||
if _, ok := liveHandlers[groupID]; !ok {
|
||||
liveHandlers[groupID] = make(map[int64]Handler)
|
||||
@@ -50,6 +55,11 @@ func MsgInHandler(msg model.Message) (reply model.Reply) {
|
||||
return handler(msg)
|
||||
}
|
||||
}
|
||||
for trigger, handler := range frontMatchHandlers {
|
||||
if strings.HasPrefix(msg.RawMsg, trigger) {
|
||||
return handler(msg)
|
||||
}
|
||||
}
|
||||
msgArray := strings.Split(msg.RawMsg, " ")
|
||||
if handler, ok := handlers[msgArray[0]]; ok {
|
||||
return handler(msg)
|
||||
|
||||
Reference in New Issue
Block a user