Skip to content

Commit 099ada8

Browse files
author
casonli
committed
sdk:频道消息设置接口 (merge request !49)
Squash merge branch 'feature_20220420_casonli_message_setting_story_873873523' into 'master' 频道消息设置接口
1 parent 17eb610 commit 099ada8

File tree

6 files changed

+56
-1
lines changed

6 files changed

+56
-1
lines changed

dto/member.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ type Member struct {
77
Nick string `json:"nick"`
88
User *User `json:"user"`
99
Roles []string `json:"roles"`
10-
OpUserID string `json:"op_user_id,omitempty"` // 操作人
10+
OpUserID string `json:"op_user_id,omitempty"`
1111
}
1212

1313
// DeleteHistoryMsgDay 消息撤回天数

dto/message_setting.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package dto
2+
3+
// MessageSetting 消息频率设置信息
4+
type MessageSetting struct {
5+
DisableCreateDm bool `json:"disable_create_dm,omitempty"`
6+
DisablePushMsg bool `json:"disable_push_msg,omitempty"`
7+
ChannelIDs []string `json:"channel_ids,omitempty"`
8+
ChannelPushMaxNum int `json:"channel_push_max_num,omitempty"`
9+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package apitest
2+
3+
import (
4+
"testing"
5+
)
6+
7+
func TestMessageSetting(t *testing.T) {
8+
t.Run(
9+
"get message setting", func(t *testing.T) {
10+
settingInfo, err := api.GetMessageSetting(
11+
ctx, testGuildID,
12+
)
13+
if err != nil {
14+
t.Error(err)
15+
}
16+
t.Logf("settingIfno:%+v", settingInfo)
17+
},
18+
)
19+
}

openapi/iface.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ type OpenAPI interface {
3636
MessageReactionAPI
3737
WebhookAPI
3838
InteractionAPI
39+
MessageSettingAPI
3940
}
4041

4142
// Base 基础能力接口
@@ -229,3 +230,8 @@ type WebhookAPI interface {
229230
SessionList(ctx context.Context) ([]*dto.HTTPSession, error)
230231
RemoveSession(ctx context.Context, sessionID string) error
231232
}
233+
234+
// MessageSettingAPI 频道消息设置接口
235+
type MessageSettingAPI interface {
236+
GetMessageSetting(ctx context.Context, guildID string) (*dto.MessageSetting, error)
237+
}

openapi/v1/message_setting.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package v1
2+
3+
import (
4+
"context"
5+
6+
"github.com/tencent-connect/botgo/dto"
7+
)
8+
9+
// GetMessageSetting 获取频道消息频率设置信息
10+
func (o *openAPI) GetMessageSetting(ctx context.Context, guildID string) (*dto.MessageSetting, error) {
11+
resp, err := o.request(ctx).
12+
SetResult(dto.MessageSetting{}).
13+
SetPathParam("guild_id", guildID).
14+
Get(o.getURL(messageSettingURI))
15+
if err != nil {
16+
return nil, err
17+
}
18+
return resp.Result().(*dto.MessageSetting), nil
19+
}

openapi/v1/resource.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ const (
6666

6767
httpSessionsURI uri = "/gateway/webhook/sessions"
6868
httpSessionURI uri = "/gateway/webhook/sessions/{session_id}"
69+
70+
messageSettingURI uri = "/guilds/{guild_id}/message/setting"
6971
)
7072

7173
// getURL 获取接口地址,会处理沙箱环境判断

0 commit comments

Comments
 (0)