Skip to content

Commit 1e2d425

Browse files
committed
optimize(bilibili): separate packages
1 parent c22e4b5 commit 1e2d425

File tree

12 files changed

+49
-491
lines changed

12 files changed

+49
-491
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,15 +571,15 @@ print("run[CQ:image,file="+j["img"]+"]")
571571
<details>
572572
<summary>b站动态、专栏、视频、直播解析</summary>
573573

574-
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibili"`
574+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibiliparse"`
575575

576576
- [x] t.bilibili.com/642277677329285174 | bilibili.com/read/cv17134450 | bilibili.com/video/BV13B4y1x7pS | live.bilibili.com/22603245
577577

578578
</details>
579579
<details>
580580
<summary>b站动态、直播推送,需要配合job一起使用</summary>
581581

582-
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibili"`
582+
`import _ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibilipush"`
583583

584584
- [x] 添加b站订阅[uid|name]
585585

go.mod

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ go 1.20
44

55
require (
66
github.com/Baidu-AIP/golang-sdk v1.1.1
7-
github.com/FloatTech/AnimeAPI v1.7.1-0.20250901143505-180d33844860
7+
github.com/FloatTech/AnimeAPI v1.7.1-0.20250926165541-8ae591d47008
88
github.com/FloatTech/floatbox v0.0.0-20250513111443-adba80e84e80
99
github.com/FloatTech/gg v1.1.3
1010
github.com/FloatTech/imgfactory v0.2.2-0.20230413152719-e101cc3606ef
1111
github.com/FloatTech/rendercard v0.2.0
12-
github.com/FloatTech/sqlite v1.7.1
12+
github.com/FloatTech/sqlite v1.7.2
1313
github.com/FloatTech/ttl v0.0.0-20240716161252-965925764562
1414
github.com/FloatTech/zbpctrl v1.7.0
1515
github.com/FloatTech/zbputils v1.7.2-0.20250926153026-d616e2b87477
@@ -29,7 +29,7 @@ require (
2929
github.com/fumiama/gotracemoe v0.0.3
3030
github.com/fumiama/jieba v0.0.0-20221203025406-36c17a10b565
3131
github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4
32-
github.com/fumiama/terasu v0.0.0-20241027183601-987ab91031ce
32+
github.com/fumiama/terasu v0.0.0-20250409134005-3ac40e382e6c
3333
github.com/fumiama/unibase2n v0.0.0-20240530074540-ec743fd5a6d6
3434
github.com/go-ego/gse v0.80.3
3535
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
@@ -48,9 +48,9 @@ require (
4848
github.com/wcharczuk/go-chart/v2 v2.1.2
4949
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20250921063512-13752a73d444
5050
gitlab.com/gomidi/midi/v2 v2.1.7
51-
golang.org/x/image v0.24.0
51+
golang.org/x/image v0.31.0
5252
golang.org/x/sys v0.30.0
53-
golang.org/x/text v0.22.0
53+
golang.org/x/text v0.29.0
5454
gopkg.in/yaml.v3 v3.0.1
5555
)
5656

go.sum

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
github.com/Baidu-AIP/golang-sdk v1.1.1 h1:RQsAmgDSAkiq22I6n7XJ2t3afgzFeqjY46FGhvrx4cw=
22
github.com/Baidu-AIP/golang-sdk v1.1.1/go.mod h1:bXnGw7xPeKt8aF7UCELKrV6UZ/46spItONK1RQBQj1Y=
33
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
4-
github.com/FloatTech/AnimeAPI v1.7.1-0.20250901143505-180d33844860 h1:ddthsMzYC2LZ517/71W//9VsXT82CSBALVt3sQY5vfA=
5-
github.com/FloatTech/AnimeAPI v1.7.1-0.20250901143505-180d33844860/go.mod h1:CzpSeo5Pvslnq7Ho14E438Yn/flFMKzjGeX2nbC1mzk=
4+
github.com/FloatTech/AnimeAPI v1.7.1-0.20250926165541-8ae591d47008 h1:YK29qIO+Iun8YbMoPNN/KHLzv1N0q93RD0sC60pj83g=
5+
github.com/FloatTech/AnimeAPI v1.7.1-0.20250926165541-8ae591d47008/go.mod h1:yairaELY4W1TmRFjNy7HXGW4qLNhCkrXCZEBgmWQ/Sc=
66
github.com/FloatTech/floatbox v0.0.0-20250513111443-adba80e84e80 h1:lFD1pd8NkYCrw0QpTX/T5pJ67I7AL5eGxQ4v0r9f81Q=
77
github.com/FloatTech/floatbox v0.0.0-20250513111443-adba80e84e80/go.mod h1:IWoFFqu+0FeaHHQdddyiTRL5z7gJME6qHC96qh0R2sc=
88
github.com/FloatTech/gg v1.1.3 h1:+GlL02lTKsxJQr4WCuNwVxC1/eBZrCvypCIBtxuOFb4=
@@ -11,8 +11,8 @@ github.com/FloatTech/imgfactory v0.2.2-0.20230413152719-e101cc3606ef h1:CJbK/2FR
1111
github.com/FloatTech/imgfactory v0.2.2-0.20230413152719-e101cc3606ef/go.mod h1:el5hGpj1C1bDRxcTXYRwEivDCr40zZeJpcrLrB1fajs=
1212
github.com/FloatTech/rendercard v0.2.0 h1:PBTZ2gCEy/dAEGSfWecrGTrWDYpiBJD1dVzNDDaOxh4=
1313
github.com/FloatTech/rendercard v0.2.0/go.mod h1:Sbojcy1t3NfFz7/WicZRmR/uKFxNMYkKF8qHx69dxY0=
14-
github.com/FloatTech/sqlite v1.7.1 h1:XKUY0+MNaRmvEIgRv7QLbl7PFVpUfQ72+XQg+no2Vq0=
15-
github.com/FloatTech/sqlite v1.7.1/go.mod h1:/4tzfCGhrZnnjC1U8vcfwGQeF6eR649fhOsS3+Le0+s=
14+
github.com/FloatTech/sqlite v1.7.2 h1:b8COegNLSzofzOyARsVwSbz9OOzWEa8IElsTlx1TBLw=
15+
github.com/FloatTech/sqlite v1.7.2/go.mod h1:/4tzfCGhrZnnjC1U8vcfwGQeF6eR649fhOsS3+Le0+s=
1616
github.com/FloatTech/ttl v0.0.0-20240716161252-965925764562 h1:snfw7FNFym1eNnLrQ/VCf80LiQo9C7jHgrunZDwiRcY=
1717
github.com/FloatTech/ttl v0.0.0-20240716161252-965925764562/go.mod h1:fHZFWGquNXuHttu9dUYoKuNbm3dzLETnIOnm1muSfDs=
1818
github.com/FloatTech/zbpctrl v1.7.0 h1:Hxo6EIhJo+pHjcQP9QgIJgluaT1pHH99zkk3njqTNMo=
@@ -83,8 +83,8 @@ github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4 h1:zN9e09TYKXI1mNku
8383
github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4/go.mod h1:iZf1H/Jcw5gjOOFb4C5nlweJtViWc7uwUxRCe14pbYk=
8484
github.com/fumiama/sqlite3 v1.29.10-simp h1:c5y3uKyU0q9t0/SyfynzYyuslQ5zP+5CD8e0yYY554A=
8585
github.com/fumiama/sqlite3 v1.29.10-simp/go.mod h1:ItX2a1OVGgNsFh6Dv60JQvGfJfTPHPVpV6DF59akYOA=
86-
github.com/fumiama/terasu v0.0.0-20241027183601-987ab91031ce h1:T6iDDU16rFyxV/FwfJJR6qcgkIlXJEIFlUTSmTD1h6s=
87-
github.com/fumiama/terasu v0.0.0-20241027183601-987ab91031ce/go.mod h1:UVx8YP1jKKL1Cj+uy+OnQRM2Ih6U36Mqy9GSf7jabsI=
86+
github.com/fumiama/terasu v0.0.0-20250409134005-3ac40e382e6c h1:GXEfVjTQ2xLHmrHYwGY3W9orcbDPUarfQCC3SjKHeEw=
87+
github.com/fumiama/terasu v0.0.0-20250409134005-3ac40e382e6c/go.mod h1:UVx8YP1jKKL1Cj+uy+OnQRM2Ih6U36Mqy9GSf7jabsI=
8888
github.com/fumiama/unibase2n v0.0.0-20240530074540-ec743fd5a6d6 h1:LtDgr628eji8jRpjPCxsk7ibjcfi97QieZVCTjxLCBw=
8989
github.com/fumiama/unibase2n v0.0.0-20240530074540-ec743fd5a6d6/go.mod h1:lEaZsT4FRSqcjnQ5q8y+mkenkzR/r1D3BJmfdp0vqDg=
9090
github.com/gabriel-vasile/mimetype v1.0.4 h1:uBejfH8l3/2f+5vjl1e4xIaSyNEhRBZ5N/ij7ohpNd8=
@@ -126,8 +126,8 @@ github.com/jinzhu/gorm v1.9.16 h1:+IyIjPEABKRpsu/F8OvDPy9fyQlgsg2luMV2ZIH5i5o=
126126
github.com/jinzhu/gorm v1.9.16/go.mod h1:G3LB3wezTOWM2ITLzPxEXgSkOXAntiLHS7UdBefADcs=
127127
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
128128
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
129+
github.com/jinzhu/now v1.0.1 h1:HjfetcXq097iXP0uoPCdnM4Efp5/9MsM0/M+XOTeR3M=
129130
github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
130-
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
131131
github.com/jozsefsallai/gophersauce v1.0.1 h1:BA3ovtQRrAb1qYU9JoRLbDHpxnDunlNcEkEfhCvDDCM=
132132
github.com/jozsefsallai/gophersauce v1.0.1/go.mod h1:YVEI7djliMTmZ1Vh01YPF8bUHi+oKhe3yXgKf1T49vg=
133133
github.com/kanrichan/resvg-go v0.0.2-0.20231001163256-63db194ca9f5 h1:BXnB1Gz4y/zwQh+ZFNy7rgd+ZfMOrwRr4uZSHEI+ieY=
@@ -183,7 +183,7 @@ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs
183183
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
184184
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
185185
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
186-
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
186+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
187187
github.com/tetratelabs/wazero v1.5.0 h1:Yz3fZHivfDiZFUXnWMPUoiW7s8tC1sjdBtlJn08qYa0=
188188
github.com/tetratelabs/wazero v1.5.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
189189
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
@@ -224,17 +224,17 @@ golang.org/x/image v0.0.0-20190220214146-31aff87c08e9/go.mod h1:kZ7UVZpmo3dzQBMx
224224
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
225225
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
226226
golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
227-
golang.org/x/image v0.24.0 h1:AN7zRgVsbvmTfNyqIbbOraYL8mSwcKncEj8ofjgzcMQ=
228-
golang.org/x/image v0.24.0/go.mod h1:4b/ITuLfqYq1hqZcjofwctIhi7sZh2WaCjvsBNjjya8=
227+
golang.org/x/image v0.31.0 h1:mLChjE2MV6g1S7oqbXC0/UcKijjm5fnJLUYKIYrLESA=
228+
golang.org/x/image v0.31.0/go.mod h1:R9ec5Lcp96v9FTF+ajwaH3uGxPH4fKfHHAVbUILxghA=
229229
golang.org/x/mobile v0.0.0-20190415191353-3e0bab5405d6/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
230230
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a h1:sYbmY3FwUWCBTodZL1S3JUuOvaW6kM2o+clDzzDNBWg=
231231
golang.org/x/mobile v0.0.0-20231127183840-76ac6878050a/go.mod h1:Ede7gF0KGoHlj822RtphAHK1jLdrcuRBZg0sF1Q+SPc=
232232
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
233233
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
234234
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
235235
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
236-
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
237236
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
237+
golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ=
238238
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
239239
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
240240
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -257,7 +257,7 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
257257
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
258258
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
259259
golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
260-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
260+
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug=
261261
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
262262
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
263263
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -300,15 +300,15 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
300300
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
301301
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
302302
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
303-
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
304-
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
303+
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk=
304+
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
305305
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
306306
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
307307
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
308308
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
309309
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
310310
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
311-
golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
311+
golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg=
312312
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
313313
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
314314
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=

main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ import (
7777
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/base64gua" // base64卦加解密
7878
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/baseamasiro" // base天城文加解密
7979
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibili" // b站相关
80+
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibiliparse" // b站相关
81+
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/bilibilipush" // b站相关
8082
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/bookreview" // 哀伤雪刃吧推书记录
8183
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/chess" // 国际象棋
8284
_ "github.com/FloatTech/ZeroBot-Plugin/plugin/choose" // 选择困难症帮手

plugin/animetrace/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
)
2424

2525
func init() {
26-
engine := control.Register("animetrace", &ctrl.Options[*zero.Ctx]{
26+
engine := control.AutoRegister(&ctrl.Options[*zero.Ctx]{
2727
DisableOnDefault: false,
2828
Brief: "AnimeTrace 动画/Galgame识别插件",
2929
Help: "- Gal识图\n- 动漫识图\n- 动漫识图 2\n- 动漫识图 [模型名]\n- Gal识图 [模型名]",

plugin/bilibili/bilibili.go

Lines changed: 5 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"net/http"
1212
"os"
1313
"path"
14-
"regexp"
1514
"sort"
1615
"strconv"
1716
"time"
@@ -31,7 +30,6 @@ import (
3130
)
3231

3332
var (
34-
re = regexp.MustCompile(`^\d+$`)
3533
danmakuTypeMap = map[int64]string{
3634
0: "普通消息",
3735
1: "礼物",
@@ -73,7 +71,7 @@ func init() {
7371
}
7472
return true
7573
})
76-
engine.OnRegex(`^>user info\s?(.{1,25})$`, getPara).SetBlock(true).
74+
engine.OnRegex(`^>user info\s?(.{1,25})$`, bz.RequireUser(cfg)).SetBlock(true).
7775
Handle(func(ctx *zero.Ctx) {
7876
id := ctx.State["uid"].(string)
7977
card, err := bz.GetMemberCard(id)
@@ -91,7 +89,7 @@ func init() {
9189
))
9290
})
9391

94-
engine.OnRegex(`^>vup info\s?(.{1,25})$`, getPara).SetBlock(true).
92+
engine.OnRegex(`^>vup info\s?(.{1,25})$`, bz.RequireUser(cfg)).SetBlock(true).
9593
Handle(func(ctx *zero.Ctx) {
9694
id := ctx.State["uid"].(string)
9795
// 获取详情
@@ -114,7 +112,7 @@ func init() {
114112
))
115113
})
116114

117-
engine.OnRegex(`^查成分\s?(.{1,25})$`, getPara, getdb).SetBlock(true).
115+
engine.OnRegex(`^查成分\s?(.{1,25})$`, bz.RequireUser(cfg), getdb).SetBlock(true).
118116
Handle(func(ctx *zero.Ctx) {
119117
id := ctx.State["uid"].(string)
120118
today := time.Now().Format("20060102")
@@ -134,7 +132,7 @@ func init() {
134132
return
135133
}
136134
vupLen := len(vups)
137-
medals, err := bz.GetMedalWall(cfg, id)
135+
medals, err := cfg.GetMedalWall(id)
138136
sort.Sort(bz.MedalSorter(medals))
139137
if err != nil {
140138
ctx.SendChain(message.Text("ERROR: ", err))
@@ -275,7 +273,7 @@ func init() {
275273
ctx.SendChain(message.Image("file:///" + file.BOTPATH + "/" + drawedFile))
276274
})
277275

278-
engine.OnRegex(`^查弹幕\s?(\S{1,25})\s?(\d*)$`, getPara).SetBlock(true).Handle(func(ctx *zero.Ctx) {
276+
engine.OnRegex(`^查弹幕\s?(\S{1,25})\s?(\d*)$`, bz.RequireUser(cfg)).SetBlock(true).Handle(func(ctx *zero.Ctx) {
279277
id := ctx.State["uid"].(string)
280278
pagenum := ctx.State["regex_matched"].([]string)[2]
281279
if pagenum == "" {
@@ -582,51 +580,3 @@ func int2rbg(t int64) (int64, int64, int64) {
582580
b, g, r := int64(buf[0]), int64(buf[1]), int64(buf[2])
583581
return r, g, b
584582
}
585-
586-
func getPara(ctx *zero.Ctx) bool {
587-
keyword := ctx.State["regex_matched"].([]string)[1]
588-
if !re.MatchString(keyword) {
589-
searchRes, err := bz.SearchUser(cfg, keyword)
590-
if err != nil {
591-
ctx.SendChain(message.Text("ERROR: ", err))
592-
return false
593-
}
594-
ctx.State["uid"] = strconv.FormatInt(searchRes[0].Mid, 10)
595-
return true
596-
}
597-
next := zero.NewFutureEvent("message", 999, false, ctx.CheckSession())
598-
recv, cancel := next.Repeat()
599-
defer cancel()
600-
ctx.SendChain(message.Text("输入为纯数字, 请选择查询uid还是用户名, 输入对应序号:\n0. 查询uid\n1. 查询用户名"))
601-
for {
602-
select {
603-
case <-time.After(time.Second * 10):
604-
ctx.SendChain(message.Text("时间太久啦!", zero.BotConfig.NickName[0], "帮你选择查询uid"))
605-
ctx.State["uid"] = keyword
606-
return true
607-
case c := <-recv:
608-
msg := c.Event.Message.ExtractPlainText()
609-
num, err := strconv.Atoi(msg)
610-
if err != nil {
611-
ctx.SendChain(message.Text("请输入数字!"))
612-
continue
613-
}
614-
if num < 0 || num > 1 {
615-
ctx.SendChain(message.Text("序号非法!"))
616-
continue
617-
}
618-
if num == 0 {
619-
ctx.State["uid"] = keyword
620-
return true
621-
} else if num == 1 {
622-
searchRes, err := bz.SearchUser(cfg, keyword)
623-
if err != nil {
624-
ctx.SendChain(message.Text("ERROR: ", err))
625-
return false
626-
}
627-
ctx.State["uid"] = strconv.FormatInt(searchRes[0].Mid, 10)
628-
return true
629-
}
630-
}
631-
}
632-
}

0 commit comments

Comments
 (0)