diff --git a/coolq/api.go b/coolq/api.go index f766370..0fcc271 100644 --- a/coolq/api.go +++ b/coolq/api.go @@ -606,12 +606,26 @@ func (bot *CQBot) CQSetGroupName(groupID int64, name string) MSG { // CQSetGroupMemo 扩展API-发送群公告 // // https://docs.go-cqhttp.org/api/#%E5%8F%91%E9%80%81%E7%BE%A4%E5%85%AC%E5%91%8A -func (bot *CQBot) CQSetGroupMemo(groupID int64, msg string) MSG { +func (bot *CQBot) CQSetGroupMemo(groupID int64, msg string, img string) MSG { if g := bot.Client.FindGroup(groupID); g != nil { if g.SelfPermission() == client.Member { return Failed(100, "PERMISSION_DENIED", "权限不足") } - _ = bot.Client.AddGroupNoticeSimple(groupID, msg) + if img != "" { + data, err := global.FindFile(img, "", global.ImagePath) + if err != nil { + return Failed(100, "IMAGE_NOT_FOUND", "图片未找到") + } + err = bot.Client.AddGroupNoticeWithPic(groupID, msg, data) + if err != nil { + return Failed(100, "SEND_NOTICE_ERROR", err.Error()) + } + } else { + err := bot.Client.AddGroupNoticeSimple(groupID, msg) + if err != nil { + return Failed(100, "SEND_NOTICE_ERROR", err.Error()) + } + } return OK(nil) } return Failed(100, "GROUP_NOT_FOUND", "群聊不存在") diff --git a/go.mod b/go.mod index d0b6e97..831271d 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,6 @@ require ( github.com/wdvxdr1123/go-silk v0.0.0-20210316130616-d47b553def60 github.com/willf/bitset v1.1.11 // indirect golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b - golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb // indirect golang.org/x/term v0.0.0-20210422114643-f5beecf764ed golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b diff --git a/go.sum b/go.sum index d423cbc..470a230 100644 --- a/go.sum +++ b/go.sum @@ -141,8 +141,6 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b h1:7mWr3k41Qtv8XlltBkDkl8LoP3mpSgBW8BUoxtEdbXg= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb h1:fqpd0EBDzlHRCjiphRR5Zo/RSWWQlWv34418dnEixWk= -golang.org/x/image v0.0.0-20210220032944-ac19c3e999fb/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= diff --git a/server/api.go b/server/api.go index 7baac05..9021f4c 100644 --- a/server/api.go +++ b/server/api.go @@ -149,7 +149,7 @@ func setGroupAdmin(bot *coolq.CQBot, p resultGetter) coolq.MSG { } func sendGroupNotice(bot *coolq.CQBot, p resultGetter) coolq.MSG { - return bot.CQSetGroupMemo(p.Get("group_id").Int(), p.Get("content").Str) + return bot.CQSetGroupMemo(p.Get("group_id").Int(), p.Get("content").Str, p.Get("image").String()) } func setGroupLeave(bot *coolq.CQBot, p resultGetter) coolq.MSG { diff --git a/server/pprof.go b/server/pprof.go index 0eb6a0a..6ccb137 100644 --- a/server/pprof.go +++ b/server/pprof.go @@ -18,8 +18,8 @@ func RunPprofServer(conf *config.PprofServer) { if conf.Disabled { return } - engine := gin.New() gin.SetMode(gin.ReleaseMode) + engine := gin.New() addr := fmt.Sprintf("%s:%d", conf.Host, conf.Port) pprof.Register(engine) go func() {