diff --git a/README.md b/README.md index c0b7edc..26e6713 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,6 @@ - - ### 安装 `go get` @@ -83,15 +81,10 @@ func main() { ### 支持功能 -> ​ 消息回复、给指定对象(好友、群组)发送文本、图片、文件、emoji表情等消息 -> -> ​ 热登陆(无需重复扫码登录)、自定义消息处理、文件下载、消息防撤回 -> -> ​ 获取对象信息、设置好友备注、拉好友进群等 - - - -**更多功能请查看文档** +* 消息回复、给指定对象(好友、群组)发送文本、图片、文件、emoji表情等消息 +* 热登陆(无需重复扫码登录)、自定义消息处理、文件下载、消息防撤回 +* 获取对象信息、设置好友备注、拉好友进群等 +* 更多功能请查看文档 @@ -107,7 +100,9 @@ func main() { ## Thanks -JetBrains +JetBrains + + diff --git a/doc/doc.md b/doc/doc.md index 32c2182..130984e 100644 --- a/doc/doc.md +++ b/doc/doc.md @@ -219,6 +219,71 @@ value, exist := msg.Get("hello") +#### 消息分发 + +```go +type MessageDispatcher interface { + Dispatch(msg *Message) +} + +func DispatchMessage(dispatcher MessageDispatcher) func(msg *Message) { + return func(msg *Message) { dispatcher.Dispatch(msg) } +} +``` + +消息分发处理接口跟 DispatchMessage 结合封装成 MessageHandler + + + +##### MessageMatchDispatcher + +> ​ MessageMatchDispatcher impl MessageDispatcher interface + +###### example + +```go +dispatcher := NewMessageMatchDispatcher() +dispatcher.OnText(func(msg *Message){ + msg.ReplyText("hello") +}) +bot := DefaultBot() +bot.MessageHandler = DispatchMessage(dispatcher) +``` + +###### 注册消息处理函数 + +```go +dispatcher.RegisterHandler(matchFunc matchFunc, handlers ...MessageContextHandler) +``` + +`matchFunc`为匹配函数,返回为`true`代表执行对应的`MessageContextHandler` + + + +###### 注册文本消息处理函数 + +```go +dispatcher.OnText(handlers ...MessageContextHandler) +``` + + + +###### 注册图片消息的处理函数 + +```go +dispatcher.OnImage(handlers ...MessageContextHandler) +``` + + + +###### 注册语音消息的处理函数 + +```go +dispatcher.OnVoice(handlers ...MessageContextHandler) +``` + + + ### 登陆用户