Skip to content

Commit 2dd3fff

Browse files
author
anezhou
committed
openapi/v1: 撤回消息增加是否显示小灰条的选项 (merge request !38)
Squash merge branch 'feature_20220311_anezhou_deletemsgtips_story_872426353' into 'master' openapi/v1: 撤回消息增加是否显示小灰条的选项 --story=872426353 TAPD: --story=872426353
1 parent d48fc3f commit 2dd3fff

File tree

4 files changed

+34
-11
lines changed

4 files changed

+34
-11
lines changed

examples/apitest/message_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"testing"
55

66
"github.com/tencent-connect/botgo/dto"
7+
"github.com/tencent-connect/botgo/openapi"
78
)
89

910
func TestMessage(t *testing.T) {
@@ -87,7 +88,7 @@ func TestRetractMessage(t *testing.T) {
8788
msgID := "109b8a401a1231343431313532313831383136323933383420801e28003081b0f30338cd6040c36048f5e4908e0650b1acf8fa05"
8889
t.Run(
8990
"消息撤回", func(t *testing.T) {
90-
err := api.RetractMessage(ctx, "1049883", msgID)
91+
err := api.RetractMessage(ctx, "1049883", msgID, openapi.RetractMessageOptionHidetip)
9192
if err != nil {
9293
t.Error(err)
9394
}

openapi/iface.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ import (
88
"github.com/tencent-connect/botgo/token"
99
)
1010

11+
// RetractMessageOption 撤回消息可选参数
12+
type RetractMessageOption int
13+
14+
const (
15+
// RetractMessageOptionHidetip 撤回消息隐藏小灰条可选参数
16+
RetractMessageOptionHidetip RetractMessageOption = 1
17+
)
18+
1119
// OpenAPI openapi 完整实现
1220
type OpenAPI interface {
1321
Base
@@ -58,7 +66,7 @@ type MessageAPI interface {
5866
PostMessage(ctx context.Context, channelID string, msg *dto.MessageToCreate) (*dto.Message, error)
5967
PatchMessage(ctx context.Context,
6068
channelID string, messageID string, msg *dto.MessageToCreate) (*dto.Message, error)
61-
RetractMessage(ctx context.Context, channelID, msgID string) error
69+
RetractMessage(ctx context.Context, channelID, msgID string, options ...RetractMessageOption) error
6270
}
6371

6472
// GuildAPI guild 相关接口
@@ -135,7 +143,7 @@ type DirectMessageAPI interface {
135143
// PostDirectMessage 在私信频道内发消息
136144
PostDirectMessage(ctx context.Context, dm *dto.DirectMessage, msg *dto.MessageToCreate) (*dto.Message, error)
137145
// RetractDMMessage 撤回私信频道消息
138-
RetractDMMessage(ctx context.Context, guildID, msgID string) error
146+
RetractDMMessage(ctx context.Context, guildID, msgID string, options ...RetractMessageOption) error
139147
}
140148

141149
// AnnouncesAPI 公告相关接口

openapi/v1/direct_message.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55

66
"github.com/tencent-connect/botgo/dto"
7+
"github.com/tencent-connect/botgo/openapi"
78
)
89

910
// CreateDirectMessage 创建私信频道
@@ -33,10 +34,16 @@ func (o *openAPI) PostDirectMessage(ctx context.Context,
3334
}
3435

3536
// RetractDMMessage 撤回私信消息
36-
func (o *openAPI) RetractDMMessage(ctx context.Context, guildID, msgID string) error {
37-
_, err := o.request(ctx).
37+
func (o *openAPI) RetractDMMessage(ctx context.Context,
38+
guildID, msgID string, options ...openapi.RetractMessageOption) error {
39+
request := o.request(ctx).
3840
SetPathParam("guild_id", guildID).
39-
SetPathParam("message_id", string(msgID)).
40-
Delete(o.getURL(dmsMessageURI))
41+
SetPathParam("message_id", string(msgID))
42+
for _, option := range options {
43+
if option == openapi.RetractMessageOptionHidetip {
44+
request = request.SetQueryParam("hidetip", "true")
45+
}
46+
}
47+
_, err := request.Delete(o.getURL(dmsMessageURI))
4148
return err
4249
}

openapi/v1/message.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
"github.com/tencent-connect/botgo/dto"
88
"github.com/tencent-connect/botgo/errs"
9+
"github.com/tencent-connect/botgo/openapi"
910
)
1011

1112
// Message 拉取单条消息
@@ -74,10 +75,16 @@ func (o *openAPI) PatchMessage(ctx context.Context,
7475
}
7576

7677
// RetractMessage 撤回消息
77-
func (o *openAPI) RetractMessage(ctx context.Context, channelID, msgID string) error {
78-
_, err := o.request(ctx).
78+
func (o *openAPI) RetractMessage(ctx context.Context,
79+
channelID, msgID string, options ...openapi.RetractMessageOption) error {
80+
request := o.request(ctx).
7981
SetPathParam("channel_id", channelID).
80-
SetPathParam("message_id", string(msgID)).
81-
Delete(o.getURL(messageURI))
82+
SetPathParam("message_id", string(msgID))
83+
for _, option := range options {
84+
if option == openapi.RetractMessageOptionHidetip {
85+
request = request.SetQueryParam("hidetip", "true")
86+
}
87+
}
88+
_, err := request.Delete(o.getURL(messageURI))
8289
return err
8390
}

0 commit comments

Comments
 (0)