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

View File

@ -25,7 +25,11 @@ func (s SyncCheckResponse) Success() 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 {