Skip to content

Commit e2c6033

Browse files
committed
✏️ drop all pb & 增加 gist 审批
1 parent a363623 commit e2c6033

File tree

11 files changed

+209
-196
lines changed

11 files changed

+209
-196
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,12 @@ zerobot -h -t token -u url [-d|w] [-g 监听地址:端口] qq1 qq2 qq3 ...
9191
- [x] 列出所有提醒
9292
- [x] 翻牌
9393
- [x] [开启|关闭]入群验证
94-
- [ ] 同意入群请求
94+
- [x] [开启|关闭]gist加群自动审批
9595
- [ ] 同意好友请求
9696
- [ ] 撤回[@xxx] [xxx]
9797
- [ ] 警告[@xxx]
9898
- [x] run[xxx]
99+
- 注:使用gist加群自动审批,请在群介绍添加以下说明,同时开启`需要回答问题并由管理员审核`:加群请在github新建一个gist,其文件名为本群群号的字符串的md5,内容为一行,是当前unix时间戳。然后请将您的用户名和gist哈希按照username/gisthash的格式填写到回答即可。
99100
- **GitHub仓库搜索** `import _ "github.com/FloatTech/ZeroBot-Plugin/plugin_github"`
100101
- [x] >github [xxx]
101102
- [x] >github -p [xxx]

go.mod

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ require (
66
github.com/FloatTech/AnimeAPI v1.1.10
77
github.com/FloatTech/ZeroBot-Plugin-Gif v0.2.4
88
github.com/FloatTech/bot-manager v1.0.1-0.20211112011524-85b9895271ed
9-
github.com/RomiChan/protobuf v0.0.0-20211204042931-ff4f35848737
109
github.com/corona10/goimagehash v1.0.3
1110
github.com/fogleman/gg v1.3.0
1211
github.com/fumiama/cron v1.3.0
@@ -24,6 +23,5 @@ require (
2423
github.com/t-tomalak/logrus-easy-formatter v0.0.0-20190827215021-c074f06c5816
2524
github.com/tidwall/gjson v1.12.1
2625
github.com/wdvxdr1123/ZeroBot v1.4.1
27-
github.com/yusufpapurcu/wmi v1.2.2 // indirect
2826
golang.org/x/image v0.0.0-20211028202545-6944b10bf410
2927
)

go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ github.com/FloatTech/imgfactory v0.1.1/go.mod h1:ThDALab8aOuU6KVYESVWFqmjcqtm03e
1212
github.com/Mrs4s/MiraiGo v0.0.0-20211120033824-43b23f4e6fcb h1:Rkj28fqIwGx/EgBzRYtpmJRfH6wqVn7cNdc7aJ0QE4M=
1313
github.com/Mrs4s/MiraiGo v0.0.0-20211120033824-43b23f4e6fcb/go.mod h1:imVKbfKqqeit+C/eaWGb4MKQ3z3gN6pRpBU5RMtp5so=
1414
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
15-
github.com/RomiChan/protobuf v0.0.0-20211204042931-ff4f35848737 h1:p4o7/eSoP39jwnGZz08N1IpH/mNzg9SdCn7kPM9A9BE=
16-
github.com/RomiChan/protobuf v0.0.0-20211204042931-ff4f35848737/go.mod h1:CKKOWC7mBxd36zxsCB1V8DTrwlTNRQvkSVbYqyUiGEE=
1715
github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
1816
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
1917
github.com/antchfx/htmlquery v1.2.3 h1:sP3NFDneHx2stfNXCKbhHFo8XgNjCACnU/4AO5gWz6M=

plugin_diana/data/migrate/text.go

Lines changed: 0 additions & 68 deletions
This file was deleted.

plugin_manager/gist.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package manager
2+
3+
import (
4+
"crypto/md5"
5+
"encoding/hex"
6+
"fmt"
7+
"strconv"
8+
"time"
9+
10+
"github.com/FloatTech/ZeroBot-Plugin/utils/math"
11+
"github.com/FloatTech/ZeroBot-Plugin/utils/web"
12+
"github.com/sirupsen/logrus"
13+
"github.com/wdvxdr1123/ZeroBot/utils/helper"
14+
)
15+
16+
// user hash file
17+
const gistraw = "https://gist.githubusercontent.com/%s/%s/raw/%s"
18+
19+
func checkNewUser(qq, gid int64, ghun, hash string) (bool, string) {
20+
if db.CanFind("member", "where ghun="+ghun) {
21+
return false, "该github用户已入群"
22+
}
23+
gidsum := md5.Sum(helper.StringToBytes(strconv.FormatInt(gid, 10)))
24+
gidhex := hex.EncodeToString(gidsum[:])
25+
u := fmt.Sprintf(gistraw, ghun, hash, gidhex)
26+
logrus.Debugln("[gist]visit url:", u)
27+
data, err := web.GetData(u)
28+
if err == nil {
29+
logrus.Debugln("[gist]get data:", helper.BytesToString(data))
30+
st, err := strconv.ParseInt(helper.BytesToString(data), 10, 64)
31+
if err == nil {
32+
// 600s 内验证成功
33+
ok := math.Abs(int(time.Now().Unix()-st)) < 600
34+
if ok {
35+
_ = db.Insert("member", &Member{QQ: qq, Ghun: ghun})
36+
return true, ""
37+
}
38+
return false, "时间戳超时"
39+
}
40+
return false, "时间戳格式错误: " + helper.BytesToString(data)
41+
}
42+
return false, "无法连接到gist: " + err.Error()
43+
}

plugin_manager/manager.db.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package manager
2+
3+
type Welcome struct {
4+
GrpID int64 `db:"gid"`
5+
Msg string `db:"msg"`
6+
}
7+
8+
type Member struct {
9+
QQ int64 `db:"qq"`
10+
// github username
11+
Ghun string `db:"ghun"`
12+
}

0 commit comments

Comments
 (0)