feat: sync rich text message support
This commit is contained in:
parent
4d3bbeabd8
commit
7c9d8dda16
41 changed files with 1164 additions and 94 deletions
|
|
@ -41,10 +41,19 @@ func (s *MessageStore) EditMessage(_ context.Context, req domain.EditMessageRequ
|
|||
return res, domain.ErrMessageNotModified
|
||||
}
|
||||
}
|
||||
if req.Message == "" && req.Media == nil && target.Media.IsZero() {
|
||||
finalMedia := target.Media
|
||||
if req.Media != nil {
|
||||
finalMedia = req.Media
|
||||
}
|
||||
finalRich := target.RichMessage
|
||||
if req.SetRichMessage {
|
||||
finalRich = req.RichMessage
|
||||
}
|
||||
if req.Message == "" && finalMedia.IsZero() && finalRich.IsZero() {
|
||||
return res, domain.ErrMessageEmpty
|
||||
}
|
||||
if req.Media == nil && !req.SetReplyMarkup && target.Body == req.Message && target.HideEdited == req.HideEdited && equalMessageEntities(target.Entities, req.Entities) {
|
||||
richChanged := req.SetRichMessage && !richMessagesEqual(target.RichMessage, req.RichMessage)
|
||||
if req.Media == nil && !req.SetReplyMarkup && !richChanged && target.Body == req.Message && target.HideEdited == req.HideEdited && equalMessageEntities(target.Entities, req.Entities) {
|
||||
return res, domain.ErrMessageNotModified
|
||||
}
|
||||
messageSenderID := target.From.ID
|
||||
|
|
@ -73,6 +82,9 @@ func (s *MessageStore) EditMessage(_ context.Context, req domain.EditMessageRequ
|
|||
// 替换 markup(nil/空 = 清空键盘);双盒一致。
|
||||
msg.ReplyMarkup = cloneReplyMarkup(req.ReplyMarkup)
|
||||
}
|
||||
if req.SetRichMessage {
|
||||
msg.RichMessage = cloneRichMessage(req.RichMessage)
|
||||
}
|
||||
msg.EditDate = req.EditDate
|
||||
msg.HideEdited = req.HideEdited
|
||||
msg.Pts = s.nextPtsLocked(userID)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue