From 36b081eeec8c086ba9dcf521086ba32f766616a1 Mon Sep 17 00:00:00 2001 From: wfjsw Date: Fri, 20 Nov 2020 14:05:17 +0800 Subject: [PATCH] reject_add_request (cherry picked from commit 061a230c9fb723ad49e00776fa37aca080973ecd) --- coolq/api.go | 6 +++--- go.mod | 6 +++++- go.sum | 9 ++------- server/http.go | 3 ++- server/websocket.go | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/coolq/api.go b/coolq/api.go index f175050..40ec5e2 100644 --- a/coolq/api.go +++ b/coolq/api.go @@ -382,10 +382,10 @@ func (bot *CQBot) CQSetGroupMemo(groupId int64, msg string) MSG { } // https://cqhttp.cc/docs/4.15/#/API?id=set_group_kick-%E7%BE%A4%E7%BB%84%E8%B8%A2%E4%BA%BA -func (bot *CQBot) CQSetGroupKick(groupId, userId int64, msg string) MSG { +func (bot *CQBot) CQSetGroupKick(groupId, userId int64, msg string, block bool) MSG { if g := bot.Client.FindGroup(groupId); g != nil { if m := g.FindMember(userId); m != nil { - m.Kick(msg) + m.Kick(msg, block) return OK(nil) } } @@ -639,7 +639,7 @@ func (bot *CQBot) CQHandleQuickOperation(context, operation gjson.Result) MSG { bot.CQDeleteMessage(int32(context.Get("message_id").Int())) } if operation.Get("kick").Bool() && !isAnonymous { - bot.CQSetGroupKick(context.Get("group_id").Int(), context.Get("user_id").Int(), "") + bot.CQSetGroupKick(context.Get("group_id").Int(), context.Get("user_id").Int(), "", operation.Get("reject_add_request").Bool()) } if operation.Get("ban").Bool() { var duration uint32 = 30 * 60 diff --git a/go.mod b/go.mod index 3186707..ace314c 100644 --- a/go.mod +++ b/go.mod @@ -3,14 +3,17 @@ module github.com/Mrs4s/go-cqhttp go 1.15 require ( - github.com/Mrs4s/MiraiGo v0.0.0-20201120010132-37b3821668be + github.com/Mrs4s/MiraiGo v0.0.0-20201120060003-eaee349fe4f4 github.com/dustin/go-humanize v1.0.0 + github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239 // indirect github.com/getlantern/go-update v0.0.0-20190510022740-79c495ab728c github.com/getlantern/golog v0.0.0-20201105130739-9586b8bde3a9 // indirect github.com/gin-gonic/gin v1.6.3 github.com/gorilla/websocket v1.4.2 github.com/guonaihong/gout v0.1.3 github.com/hjson/hjson-go v3.1.0+incompatible + github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 // indirect + github.com/jonboulle/clockwork v0.2.2 // indirect github.com/json-iterator/go v1.1.10 github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0 // indirect github.com/kr/binarydist v0.1.0 // indirect @@ -21,6 +24,7 @@ require ( github.com/sirupsen/logrus v1.7.0 github.com/syndtr/goleveldb v1.0.0 github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816 + github.com/tebeka/strftime v0.1.5 // indirect github.com/tidwall/gjson v1.6.3 github.com/wdvxdr1123/go-silk v0.0.0-20201007123416-b982fd3d91d6 github.com/yinghau76/go-ascii-art v0.0.0-20190517192627-e7f465a30189 diff --git a/go.sum b/go.sum index 1cfc4ad..4560a5b 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Mrs4s/MiraiGo v0.0.0-20201117154121-989187125900 h1:xnx3dH7hgZ/Z4k33EhKzBmQhwASJ5bvsorqPhO0DWbc= -github.com/Mrs4s/MiraiGo v0.0.0-20201117154121-989187125900/go.mod h1:pAsWtMIwqkBXr5DkUpTIHoWQJNduVnX9WSBPmPvkuCs= -github.com/Mrs4s/MiraiGo v0.0.0-20201118132221-03652b042534 h1:MM4fnTZhMzvRZaR7EaYfoWYhoBinqxYCwVigdRbzfLI= -github.com/Mrs4s/MiraiGo v0.0.0-20201118132221-03652b042534/go.mod h1:pAsWtMIwqkBXr5DkUpTIHoWQJNduVnX9WSBPmPvkuCs= -github.com/Mrs4s/MiraiGo v0.0.0-20201120010132-37b3821668be h1:Husock3Pds2ghVqly25LJu2E9kF7NbsMa/NCqmdNns4= -github.com/Mrs4s/MiraiGo v0.0.0-20201120010132-37b3821668be/go.mod h1:pAsWtMIwqkBXr5DkUpTIHoWQJNduVnX9WSBPmPvkuCs= +github.com/Mrs4s/MiraiGo v0.0.0-20201120060003-eaee349fe4f4 h1:6yT4mIrpQdmVWLTSWN8pjT7R6UI4eeC5UlswPQglXlU= +github.com/Mrs4s/MiraiGo v0.0.0-20201120060003-eaee349fe4f4/go.mod h1:pAsWtMIwqkBXr5DkUpTIHoWQJNduVnX9WSBPmPvkuCs= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -78,7 +74,6 @@ github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0U github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/guonaihong/gout v0.1.3 h1:BIiV6nnsA+R6dIB1P33uhCM8+TVAG3zHrXGZad7hDc8= github.com/guonaihong/gout v0.1.3/go.mod h1:vXvv5Kxr70eM5wrp4F0+t9lnLWmq+YPW2GByll2f/EA= -github.com/hjson/hjson-go v0.2.3 h1:KhG7/PSxTibbYOzFso5FoiX2gWePcANaCsvM1WE/bTo= github.com/hjson/hjson-go v3.1.0+incompatible h1:DY/9yE8ey8Zv22bY+mHV1uk2yRy0h8tKhZ77hEdi0Aw= github.com/hjson/hjson-go v3.1.0+incompatible/go.mod h1:qsetwF8NlsTsOTwZTApNlTCerV+b2GjYRRcIk4JMFio= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= diff --git a/server/http.go b/server/http.go index f79d443..9b9ac0e 100644 --- a/server/http.go +++ b/server/http.go @@ -308,7 +308,8 @@ func SetGroupKick(s *httpServer, c *gin.Context) { gid, _ := strconv.ParseInt(getParam(c, "group_id"), 10, 64) uid, _ := strconv.ParseInt(getParam(c, "user_id"), 10, 64) msg := getParam(c, "message") - c.JSON(200, s.bot.CQSetGroupKick(gid, uid, msg)) + block := getParamOrDefault(c, "reject_add_request", "false") + c.JSON(200, s.bot.CQSetGroupKick(gid, uid, msg, block == "true")) } func SetGroupBan(s *httpServer, c *gin.Context) { diff --git a/server/websocket.go b/server/websocket.go index 5de0e49..6e41ffa 100644 --- a/server/websocket.go +++ b/server/websocket.go @@ -433,7 +433,7 @@ var wsApi = map[string]func(*coolq.CQBot, gjson.Result) coolq.MSG{ return bot.CQSetGroupSpecialTitle(p.Get("group_id").Int(), p.Get("user_id").Int(), p.Get("special_title").Str) }, "set_group_kick": func(bot *coolq.CQBot, p gjson.Result) coolq.MSG { - return bot.CQSetGroupKick(p.Get("group_id").Int(), p.Get("user_id").Int(), p.Get("message").Str) + return bot.CQSetGroupKick(p.Get("group_id").Int(), p.Get("user_id").Int(), p.Get("message").Str, p.Get("reject_add_request").Bool()) }, "set_group_ban": func(bot *coolq.CQBot, p gjson.Result) coolq.MSG { return bot.CQSetGroupBan(p.Get("group_id").Int(), p.Get("user_id").Int(), func() uint32 {