Skip to content

Commit 00c5599

Browse files
authored
fix: 修复回复由自己发送的群消息时抛出1204错误 (#404)
1 parent 68d6f54 commit 00c5599

File tree

1 file changed

+29
-4
lines changed

1 file changed

+29
-4
lines changed

message.go

+29-4
Original file line numberDiff line numberDiff line change
@@ -164,24 +164,49 @@ func (m *Message) IsSendByGroup() bool {
164164
return strings.HasPrefix(m.FromUserName, "@@") || (m.IsSendBySelf() && strings.HasPrefix(m.ToUserName, "@@"))
165165
}
166166

167+
// IsSelfSendToGroup 判断消息是否由自己发送到群组
168+
func (m *Message) IsSelfSendToGroup() bool {
169+
return m.IsSendBySelf() && strings.HasPrefix(m.ToUserName, "@@")
170+
}
171+
167172
// ReplyText 回复文本消息
168173
func (m *Message) ReplyText(content string) (*SentMessage, error) {
169-
return m.Owner().sendTextToUser(m.FromUserName, content)
174+
// 判断是否由自己发送
175+
username := m.FromUserName
176+
if m.IsSelfSendToGroup() {
177+
username = m.ToUserName
178+
}
179+
return m.Owner().sendTextToUser(username, content)
170180
}
171181

172182
// ReplyImage 回复图片消息
173183
func (m *Message) ReplyImage(file io.Reader) (*SentMessage, error) {
174-
return m.Owner().sendImageToUser(m.FromUserName, file)
184+
// 判断是否由自己发送
185+
username := m.FromUserName
186+
if m.IsSelfSendToGroup() {
187+
username = m.ToUserName
188+
}
189+
return m.Owner().sendImageToUser(username, file)
175190
}
176191

177192
// ReplyVideo 回复视频消息
178193
func (m *Message) ReplyVideo(file io.Reader) (*SentMessage, error) {
179-
return m.Owner().sendVideoToUser(m.FromUserName, file)
194+
// 判断是否由自己发送
195+
username := m.FromUserName
196+
if m.IsSelfSendToGroup() {
197+
username = m.ToUserName
198+
}
199+
return m.Owner().sendVideoToUser(username, file)
180200
}
181201

182202
// ReplyFile 回复文件消息
183203
func (m *Message) ReplyFile(file io.Reader) (*SentMessage, error) {
184-
return m.Owner().sendFileToUser(m.FromUserName, file)
204+
// 判断是否由自己发送
205+
username := m.FromUserName
206+
if m.IsSelfSendToGroup() {
207+
username = m.ToUserName
208+
}
209+
return m.Owner().sendFileToUser(username, file)
185210
}
186211

187212
func (m *Message) IsText() bool {

0 commit comments

Comments
 (0)