Skip to content

Commit d48fc3f

Browse files
author
casonli
committed
sdk:编辑消息 (merge request !35)
Squash merge branch 'feature_20220308_casonli_pathc_message_story_871867921' into 'master' 编辑消息
1 parent 6177f16 commit d48fc3f

File tree

4 files changed

+48
-1
lines changed

4 files changed

+48
-1
lines changed

dto/message_create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ type MessageToCreate struct {
99
MsgID string `json:"msg_id,omitempty"` // 要回复的消息id,为空是主动消息,公域机器人会异步审核,不为空是被动消息,公域机器人会校验语料
1010
MessageReference *MessageReference `json:"message_reference,omitempty"`
1111
Markdown *Markdown `json:"markdown,omitempty"`
12-
Keyboard string `json:"keyboard,omitempty"` // 内嵌键盘
12+
Keyboard *Keyboard `json:"keyboard,omitempty"` // 内嵌键盘
1313
}
1414

1515
// MessageReference 引用消息

examples/apitest/message_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,32 @@ func TestContentMessage(t *testing.T) {
165165
},
166166
)
167167
}
168+
169+
func TestPatchMessage(t *testing.T) {
170+
t.Run(
171+
"修改消息", func(t *testing.T) {
172+
message, err := api.PatchMessage(ctx, testChannelID, testMessageID, &dto.MessageToCreate{
173+
Keyboard: &dto.Keyboard{
174+
ID: "62",
175+
},
176+
Markdown: &dto.Markdown{
177+
TemplateID: 65,
178+
Params: []*dto.MarkdownParams{
179+
{
180+
Key: "title",
181+
Values: []string{"标题"},
182+
},
183+
{
184+
Key: "content",
185+
Values: []string{"内容"},
186+
},
187+
},
188+
},
189+
})
190+
if err != nil {
191+
t.Error(err)
192+
}
193+
t.Logf("message : %v", message)
194+
},
195+
)
196+
}

openapi/iface.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ type MessageAPI interface {
5656
Message(ctx context.Context, channelID string, messageID string) (*dto.Message, error)
5757
Messages(ctx context.Context, channelID string, pager *dto.MessagesPager) ([]*dto.Message, error)
5858
PostMessage(ctx context.Context, channelID string, msg *dto.MessageToCreate) (*dto.Message, error)
59+
PatchMessage(ctx context.Context,
60+
channelID string, messageID string, msg *dto.MessageToCreate) (*dto.Message, error)
5961
RetractMessage(ctx context.Context, channelID, msgID string) error
6062
}
6163

openapi/v1/message.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,22 @@ func (o *openAPI) PostMessage(ctx context.Context, channelID string, msg *dto.Me
5757
return resp.Result().(*dto.Message), nil
5858
}
5959

60+
// PatchMessage 编辑消息
61+
func (o *openAPI) PatchMessage(ctx context.Context,
62+
channelID string, messageID string, msg *dto.MessageToCreate) (*dto.Message, error) {
63+
resp, err := o.request(ctx).
64+
SetResult(dto.Message{}).
65+
SetPathParam("channel_id", channelID).
66+
SetPathParam("message_id", messageID).
67+
SetBody(msg).
68+
Patch(o.getURL(messageURI))
69+
if err != nil {
70+
return nil, err
71+
}
72+
73+
return resp.Result().(*dto.Message), nil
74+
}
75+
6076
// RetractMessage 撤回消息
6177
func (o *openAPI) RetractMessage(ctx context.Context, channelID, msgID string) error {
6278
_, err := o.request(ctx).

0 commit comments

Comments
 (0)