[fix]: 修改同步消息逻辑 (#236)

This commit is contained in:
多吃点苹果 2023-02-05 11:23:05 +08:00 committed by GitHub
parent 3c7ac0cc75
commit 3e6fc41298
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

8
bot.go
View File

@ -223,8 +223,8 @@ func (b *Bot) syncCheck() error {
if !resp.Success() { if !resp.Success() {
return resp.Err() return resp.Err()
} }
// 如果Selector不为0则获取消息 switch resp.Selector {
if !resp.NorMal() { case SelectorNewMsg:
messages, err := b.syncMessage() messages, err := b.syncMessage()
if err != nil { if err != nil {
return err return err
@ -237,8 +237,12 @@ func (b *Bot) syncCheck() error {
// 默认同步调用 // 默认同步调用
// 如果异步调用则需自行处理 // 如果异步调用则需自行处理
// 如配合 openwechat.MessageMatchDispatcher 使用 // 如配合 openwechat.MessageMatchDispatcher 使用
// NOTE: 请确保 MessageHandler 不会阻塞,否则会导致收不到后续的消息
b.MessageHandler(message) b.MessageHandler(message)
} }
case SelectorModContact:
case SelectorAddOrDelContact:
case SelectorModChatRoom:
} }
} }
return err return err

View File

@ -25,7 +25,11 @@ func (s SyncCheckResponse) Success() bool {
} }
func (s SyncCheckResponse) NorMal() bool { func (s SyncCheckResponse) NorMal() bool {
return s.Success() && s.Selector == "0" return s.Success() && s.Selector == SelectorNormal
}
func (s SyncCheckResponse) HasNewMessage() bool {
return s.Success() && s.Selector == SelectorNewMsg
} }
func (s SyncCheckResponse) Err() error { func (s SyncCheckResponse) Err() error {