Skip to content

Commit 65c4024

Browse files
committed
fix: larkim.MessageText builds invalid json strings
1 parent d83e37d commit 65c4024

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

service/im/v1/ext_model.go

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -233,15 +233,11 @@ type MessageText struct {
233233
}
234234

235235
func NewTextMsgBuilder() *MessageText {
236-
m := &MessageText{}
237-
m.builder.WriteString("{\"text\":\"")
238-
return m
236+
return &MessageText{}
239237
}
240238

241239
func NewMessageTextBuilder() *MessageText {
242-
m := &MessageText{}
243-
m.builder.WriteString("{\"text\":\"")
244-
return m
240+
return &MessageText{}
245241
}
246242

247243
func (t *MessageText) Text(text string) *MessageText {
@@ -251,34 +247,36 @@ func (t *MessageText) Text(text string) *MessageText {
251247

252248
func (t *MessageText) TextLine(text string) *MessageText {
253249
t.builder.WriteString(text)
254-
t.builder.WriteString("\\n")
250+
t.builder.WriteString("\n")
255251
return t
256252
}
257253

258254
func (t *MessageText) Line() *MessageText {
259-
t.builder.WriteString("\\n")
255+
t.builder.WriteString("\n")
260256
return t
261257
}
262258

263259
func (t *MessageText) AtUser(userId, name string) *MessageText {
264-
t.builder.WriteString("<at user_id=\\\"")
260+
t.builder.WriteString("<at user_id=\"")
265261
t.builder.WriteString(userId)
266-
t.builder.WriteString("\\\">")
262+
t.builder.WriteString("\">")
267263
t.builder.WriteString(name)
268264
t.builder.WriteString("</at>")
269265
return t
270-
return t
271266
}
272267

273268
func (t *MessageText) AtAll() *MessageText {
274-
t.builder.WriteString("<at user_id=\\\"all\\\">")
275-
t.builder.WriteString("</at>")
269+
t.builder.WriteString("<at user_id=\"all\"></at>")
276270
return t
277271
}
278272

279-
func (t *MessageText) Build() string {
280-
t.builder.WriteString("\"}")
281-
return t.builder.String()
273+
func (t *MessageText) Build() (string, error) {
274+
m := map[string]string{"text": t.builder.String()}
275+
bs, err := json.Marshal(m)
276+
if err != nil {
277+
return "", err
278+
}
279+
return string(bs), nil
282280
}
283281

284282
/**

0 commit comments

Comments
 (0)