From 9eb84837cbd9207cfa20b0674649102f22b9df29 Mon Sep 17 00:00:00 2001 From: eatmoreapple <15055461510@163.com> Date: Tue, 17 Aug 2021 21:27:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BE=A4=E7=BB=84=E9=87=8D?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- caller.go | 9 +++++++++ client.go | 18 ++++++++++++++++++ relations.go | 5 +++++ user.go | 7 +++++++ 4 files changed, 39 insertions(+) diff --git a/caller.go b/caller.go index be581f1..f443654 100644 --- a/caller.go +++ b/caller.go @@ -392,6 +392,15 @@ func (c *Caller) WebWxCreateChatRoom(request *BaseRequest, info *LoginInfo, topi return &group, nil } +// WebWxRenameChatRoom 群组重命名 +func (c *Caller) WebWxRenameChatRoom(request *BaseRequest, info *LoginInfo, newTopic string, group *Group) error { + resp, err := c.Client.WebWxRenameChatRoom(request, info, newTopic, group) + if err != nil { + return err + } + return parseBaseResponseError(resp) +} + // 处理响应返回的结果是否正常 func parseBaseResponseError(resp *http.Response) error { defer resp.Body.Close() diff --git a/client.go b/client.go index d0eea9c..aa7a9de 100644 --- a/client.go +++ b/client.go @@ -752,3 +752,21 @@ func (c *Client) WebWxCreateChatRoom(request *BaseRequest, info *LoginInfo, topi req.Header.Add("Content-Type", jsonContentType) return c.Do(req) } + +// WebWxRenameChatRoom 群组重命名接口 +func (c *Client) WebWxRenameChatRoom(request *BaseRequest, info *LoginInfo, newTopic string, group *Group) (*http.Response, error) { + path, _ := url.Parse(c.Domain.BaseHost() + webwxupdatechatroom) + params := url.Values{} + params.Add("fun", "modtopic") + params.Add("pass_ticket", info.PassTicket) + path.RawQuery = params.Encode() + content := map[string]interface{}{ + "BaseRequest": request, + "ChatRoomName": group.UserName, + "NewTopic": newTopic, + } + body, _ := ToBuffer(content) + req, _ := http.NewRequest(http.MethodPost, path.String(), body) + req.Header.Add("Content-Type", jsonContentType) + return c.Do(req) +} diff --git a/relations.go b/relations.go index 69da415..378ca56 100644 --- a/relations.go +++ b/relations.go @@ -252,6 +252,11 @@ func (g *Group) RemoveMembers(members Members) error { return g.Self.RemoveMemberFromGroup(g, members) } +// Rename 群组重命名 +func (g *Group) Rename(name string) error { + return g.Self.RenameGroup(g, name) +} + type Groups []*Group // Count 获取群组数量 diff --git a/user.go b/user.go index 7911b79..aed5cd7 100644 --- a/user.go +++ b/user.go @@ -359,6 +359,13 @@ func (s *Self) AddFriendIntoManyGroups(friend *Friend, groups ...*Group) error { return nil } +// RenameGroup 群组重命名 +func (s *Self) RenameGroup(group *Group, newName string) error { + req := s.Bot.Storage.Request + info := s.Bot.Storage.LoginInfo + return s.Bot.Caller.WebWxRenameChatRoom(req, info, newName, group) +} + // SendMessageToGroup 发送消息给群组 func (s *Self) SendMessageToGroup(group *Group, msg *SendMessage) (*SentMessage, error) { return s.sendMessageToUser(group.User, msg)