mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 19:17:38 +08:00
Merge pull request #284 from Akegarasu/feat-del-group-notice
feat: 删除公告
This commit is contained in:
commit
a39b3fdd96
@ -119,17 +119,22 @@ func (c *QQClient) GetTts(text string) ([]byte, error) {
|
||||
/* -------- GroupNotice -------- */
|
||||
|
||||
type groupNoticeRsp struct {
|
||||
Feeds []*struct {
|
||||
Feeds []*GroupNoticeFeed `json:"feeds"`
|
||||
Inst []*GroupNoticeFeed `json:"inst"`
|
||||
}
|
||||
|
||||
type GroupNoticeFeed struct {
|
||||
NoticeId string `json:"fid"`
|
||||
SenderId uint32 `json:"u"`
|
||||
PublishTime uint64 `json:"pubt"`
|
||||
Message struct {
|
||||
Text string `json:"text"`
|
||||
Images []noticeImage `json:"pics"`
|
||||
} `json:"msg"`
|
||||
} `json:"feeds"`
|
||||
}
|
||||
|
||||
type GroupNoticeMessage struct {
|
||||
NoticeId string `json:"notice_id"`
|
||||
SenderId uint32 `json:"sender_id"`
|
||||
PublishTime uint64 `json:"publish_time"`
|
||||
Message struct {
|
||||
@ -187,9 +192,8 @@ func (c *QQClient) GetGroupNotice(groupCode int64) (l []*GroupNoticeMessage, err
|
||||
}
|
||||
|
||||
func (c *QQClient) parseGroupNoticeJson(s *groupNoticeRsp) []*GroupNoticeMessage {
|
||||
o := make([]*GroupNoticeMessage, 0, len(s.Feeds))
|
||||
for _, v := range s.Feeds {
|
||||
|
||||
o := make([]*GroupNoticeMessage, 0, len(s.Feeds)+len(s.Inst))
|
||||
parse := func(v *GroupNoticeFeed) {
|
||||
ims := make([]GroupNoticeImage, 0, len(v.Message.Images))
|
||||
for i := 0; i < len(v.Message.Images); i++ {
|
||||
ims = append(ims, GroupNoticeImage{
|
||||
@ -200,6 +204,7 @@ func (c *QQClient) parseGroupNoticeJson(s *groupNoticeRsp) []*GroupNoticeMessage
|
||||
}
|
||||
|
||||
o = append(o, &GroupNoticeMessage{
|
||||
NoticeId: v.NoticeId,
|
||||
SenderId: v.SenderId,
|
||||
PublishTime: v.PublishTime,
|
||||
Message: struct {
|
||||
@ -211,7 +216,12 @@ func (c *QQClient) parseGroupNoticeJson(s *groupNoticeRsp) []*GroupNoticeMessage
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
for _, v := range s.Feeds {
|
||||
parse(v)
|
||||
}
|
||||
for _, v := range s.Inst {
|
||||
parse(v)
|
||||
}
|
||||
return o
|
||||
}
|
||||
|
||||
@ -277,3 +287,12 @@ func (c *QQClient) AddGroupNoticeWithPic(groupCode int64, text string, pic []byt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *QQClient) DelGroupNotice(groupCode int64, fid string) error {
|
||||
body := fmt.Sprintf(`fid=%s&qid=%v&bkn=%v&ft=23&op=1`, fid, groupCode, c.getCSRFToken())
|
||||
_, err := utils.HttpPostBytesWithCookie("https://web.qun.qq.com/cgi-bin/announce/del_feed", []byte(body), c.getCookiesWithDomain("qun.qq.com"))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "request error")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user