33 lines
598 B
Go
33 lines
598 B
Go
package wechat
|
|
|
|
import (
|
|
"github.com/eatmoreapple/openwechat"
|
|
log "github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type MessageHandlerInterface interface {
|
|
handle(*openwechat.Message) error
|
|
ReplyText(*openwechat.Message) error
|
|
}
|
|
|
|
type Type string
|
|
|
|
const (
|
|
GroupHandler = "group"
|
|
)
|
|
|
|
var handlers map[Type]MessageHandlerInterface
|
|
|
|
func init() {
|
|
handlers = make(map[Type]MessageHandlerInterface)
|
|
handlers[GroupHandler] = NewGroupMessageHandler()
|
|
}
|
|
|
|
func Handler(msg *openwechat.Message) {
|
|
err := handlers[GroupHandler].handle(msg)
|
|
if err != nil {
|
|
log.Errorf("handle error: %s\n", err.Error())
|
|
return
|
|
}
|
|
}
|