@@ -164,24 +164,49 @@ func (m *Message) IsSendByGroup() bool {
164
164
return strings .HasPrefix (m .FromUserName , "@@" ) || (m .IsSendBySelf () && strings .HasPrefix (m .ToUserName , "@@" ))
165
165
}
166
166
167
+ // IsSelfSendToGroup 判断消息是否由自己发送到群组
168
+ func (m * Message ) IsSelfSendToGroup () bool {
169
+ return m .IsSendBySelf () && strings .HasPrefix (m .ToUserName , "@@" )
170
+ }
171
+
167
172
// ReplyText 回复文本消息
168
173
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 )
170
180
}
171
181
172
182
// ReplyImage 回复图片消息
173
183
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 )
175
190
}
176
191
177
192
// ReplyVideo 回复视频消息
178
193
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 )
180
200
}
181
201
182
202
// ReplyFile 回复文件消息
183
203
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 )
185
210
}
186
211
187
212
func (m * Message ) IsText () bool {
0 commit comments