Skip to content

Commit 177fdba

Browse files
committed
optimize: drop gse in order to reduce mem cons.
1 parent fef48e4 commit 177fdba

File tree

4 files changed

+54
-174
lines changed

4 files changed

+54
-174
lines changed

go.mod

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@ go 1.24.2
55
require (
66
github.com/Baidu-AIP/golang-sdk v1.1.1
77
github.com/FloatTech/AnimeAPI v1.7.1-0.20250926171956-ba37dfebfc4a
8-
github.com/FloatTech/floatbox v0.0.0-20250513111443-adba80e84e80
8+
github.com/FloatTech/floatbox v0.0.0-20251002074805-f95cbc7edb31
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
1212
github.com/FloatTech/sqlite v1.7.2
1313
github.com/FloatTech/ttl v0.0.0-20250224045156-012b1463287d
1414
github.com/FloatTech/zbpctrl v1.7.0
15-
github.com/FloatTech/zbputils v1.7.2-0.20250930154951-b9dba62964b2
15+
github.com/FloatTech/zbputils v1.7.2-0.20251002080916-b554b7039913
1616
github.com/RomiChan/syncx v0.0.0-20240418144900-b7402ffdebc7
17-
github.com/RomiChan/websocket v1.4.3-0.20220227141055-9b2c6168c9c5
17+
github.com/RomiChan/websocket v1.4.3-0.20251002072000-d3eb41798438
1818
github.com/Tnze/go-mc v1.20.2
1919
github.com/antchfx/htmlquery v1.3.4
2020
github.com/corona10/goimagehash v1.1.0
@@ -31,7 +31,6 @@ require (
3131
github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4
3232
github.com/fumiama/terasu v0.0.0-20250930151601-1d9b679c36c2
3333
github.com/fumiama/unibase2n v0.0.0-20240530074540-ec743fd5a6d6
34-
github.com/go-ego/gse v0.80.3
3534
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
3635
github.com/google/uuid v1.6.0
3736
github.com/jinzhu/gorm v1.9.16
@@ -46,12 +45,11 @@ require (
4645
github.com/sirupsen/logrus v1.9.3
4746
github.com/tidwall/gjson v1.18.0
4847
github.com/wcharczuk/go-chart/v2 v2.1.2
49-
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20250921063512-13752a73d444
48+
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20251002074418-56567b7fc282
5049
gitlab.com/gomidi/midi/v2 v2.3.16
5150
golang.org/x/image v0.31.0
5251
golang.org/x/sys v0.36.0
5352
golang.org/x/text v0.29.0
54-
gopkg.in/yaml.v3 v3.0.1
5553
)
5654

5755
require (
@@ -63,8 +61,9 @@ require (
6361
github.com/ebitengine/purego v0.8.0 // indirect
6462
github.com/ericpauley/go-quantize v0.0.0-20200331213906-ae555eb2afa4 // indirect
6563
github.com/fumiama/go-simple-protobuf v0.2.0 // indirect
66-
github.com/fumiama/gofastTEA v0.0.10 // indirect
64+
github.com/fumiama/gofastTEA v0.1.3 // indirect
6765
github.com/fumiama/imgsz v0.0.4 // indirect
66+
github.com/fumiama/orbyte v0.0.0-20251002065953-3bb358367eb5 // indirect
6867
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
6968
github.com/go-ole/go-ole v1.2.6 // indirect
7069
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
@@ -88,9 +87,9 @@ require (
8887
github.com/tidwall/pretty v1.2.0 // indirect
8988
github.com/tklauser/go-sysconf v0.3.12 // indirect
9089
github.com/tklauser/numcpus v0.6.1 // indirect
91-
github.com/vcaesar/cedar v0.20.2 // indirect
9290
github.com/yusufpapurcu/wmi v1.2.4 // indirect
93-
golang.org/x/net v0.42.0 // indirect
91+
golang.org/x/net v0.43.0 // indirect
92+
gopkg.in/yaml.v3 v3.0.1 // indirect
9493
modernc.org/libc v1.61.0 // indirect
9594
modernc.org/mathutil v1.6.0 // indirect
9695
modernc.org/memory v1.8.0 // indirect

go.sum

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ github.com/Baidu-AIP/golang-sdk v1.1.1 h1:RQsAmgDSAkiq22I6n7XJ2t3afgzFeqjY46FGhv
22
github.com/Baidu-AIP/golang-sdk v1.1.1/go.mod h1:bXnGw7xPeKt8aF7UCELKrV6UZ/46spItONK1RQBQj1Y=
33
github.com/FloatTech/AnimeAPI v1.7.1-0.20250926171956-ba37dfebfc4a h1:D/+ni0hzmfC+5TVQyGuq/AReGrSNKWTSMqU+lNG60rc=
44
github.com/FloatTech/AnimeAPI v1.7.1-0.20250926171956-ba37dfebfc4a/go.mod h1:cuDd67B23xmICSmFBhWzXN51blod2BlM1liN9Ux0pSc=
5-
github.com/FloatTech/floatbox v0.0.0-20250513111443-adba80e84e80 h1:lFD1pd8NkYCrw0QpTX/T5pJ67I7AL5eGxQ4v0r9f81Q=
6-
github.com/FloatTech/floatbox v0.0.0-20250513111443-adba80e84e80/go.mod h1:IWoFFqu+0FeaHHQdddyiTRL5z7gJME6qHC96qh0R2sc=
5+
github.com/FloatTech/floatbox v0.0.0-20251002074805-f95cbc7edb31 h1:2K+/M64ixD1Pg5hr00Nbxr7GoWQOgahvpmp1pAMnrYc=
6+
github.com/FloatTech/floatbox v0.0.0-20251002074805-f95cbc7edb31/go.mod h1:kf+Ywc2lk8PLdg3RX0vrUmFLPO6k+23MFmt4GviV8C0=
77
github.com/FloatTech/gg v1.1.3 h1:+GlL02lTKsxJQr4WCuNwVxC1/eBZrCvypCIBtxuOFb4=
88
github.com/FloatTech/gg v1.1.3/go.mod h1:/9oLP54CMfq4r+71XL26uaFTJ1uL1boAyX67680/1HE=
99
github.com/FloatTech/imgfactory v0.2.2-0.20230413152719-e101cc3606ef h1:CJbK/2FRwPuZpeb6M4sWK2d7oXDnBEGhpkQuQrgc91A=
@@ -16,13 +16,13 @@ github.com/FloatTech/ttl v0.0.0-20250224045156-012b1463287d h1:mUQ/c3wXKsUGa4Sg9
1616
github.com/FloatTech/ttl v0.0.0-20250224045156-012b1463287d/go.mod h1:fHZFWGquNXuHttu9dUYoKuNbm3dzLETnIOnm1muSfDs=
1717
github.com/FloatTech/zbpctrl v1.7.0 h1:Hxo6EIhJo+pHjcQP9QgIJgluaT1pHH99zkk3njqTNMo=
1818
github.com/FloatTech/zbpctrl v1.7.0/go.mod h1:xmM4dSwHA02Gei3ogCRiG+RTrw/7Z69PfrN5NYf8BPE=
19-
github.com/FloatTech/zbputils v1.7.2-0.20250930154951-b9dba62964b2 h1:3XgC953tTNOt4sbvST4LqddsH2yV355qaxFUskvzW1A=
20-
github.com/FloatTech/zbputils v1.7.2-0.20250930154951-b9dba62964b2/go.mod h1:klguZgIkWv7+1U/eh/5MFR9enyPqUuthSdXp/KrBE2g=
19+
github.com/FloatTech/zbputils v1.7.2-0.20251002080916-b554b7039913 h1:uGexKAPL26sAWGemyHbfkjYyzFItMsbI8EREBLSZ/sU=
20+
github.com/FloatTech/zbputils v1.7.2-0.20251002080916-b554b7039913/go.mod h1:mNvv0+wCou042n/3QkK23WmbayNctT5wgkKC3A6nbmM=
2121
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
2222
github.com/RomiChan/syncx v0.0.0-20240418144900-b7402ffdebc7 h1:S/ferNiehVjNaBMNNBxUjLtVmP/YWD6Yh79RfPv4ehU=
2323
github.com/RomiChan/syncx v0.0.0-20240418144900-b7402ffdebc7/go.mod h1:vD7Ra3Q9onRtojoY5sMCLQ7JBgjUsrXDnDKyFxqpf9w=
24-
github.com/RomiChan/websocket v1.4.3-0.20220227141055-9b2c6168c9c5 h1:bBmmB7he0iVN4m5mcehfheeRUEer/Avo4ujnxI3uCqs=
25-
github.com/RomiChan/websocket v1.4.3-0.20220227141055-9b2c6168c9c5/go.mod h1:0UcFaCkhp6vZw6l5Dpq0Dp673CoF9GdvA8lTfst0GiU=
24+
github.com/RomiChan/websocket v1.4.3-0.20251002072000-d3eb41798438 h1:I0bdwHZ+2DY45b39xPoTD2u+Z8zhvBuu9aZfjMZeiZM=
25+
github.com/RomiChan/websocket v1.4.3-0.20251002072000-d3eb41798438/go.mod h1:GO+9i5UYB4BuZEel6BfGx7O1u3ggwgZWUnGxPATUoTE=
2626
github.com/Tnze/go-mc v1.20.2 h1:arHCE/WxLCxY73C/4ZNLdOymRYtdwoXE05ohB7HVN6Q=
2727
github.com/Tnze/go-mc v1.20.2/go.mod h1:geoRj2HsXSkB3FJBuhr7wCzXegRlzWsVXd7h7jiJ6aQ=
2828
github.com/adamzy/cedar-go v0.0.0-20170805034717-80a9c64b256d h1:ir/IFJU5xbja5UaBEQLjcvn7aAU01nqU/NUyOBEU+ew=
@@ -69,8 +69,8 @@ github.com/fumiama/go-registry v0.2.7 h1:tLEqgEpsiybQMqBv0dLHm5leia/z1DhajMupwnO
6969
github.com/fumiama/go-registry v0.2.7/go.mod h1:m+wp5fF8dYgVoFkBPZl+vlK90loymaJE0JCtocVQLEs=
7070
github.com/fumiama/go-simple-protobuf v0.2.0 h1:ACyN1MAlu7pDR3EszWgzUeNP+IRsSHwH6V9JCJA5R5o=
7171
github.com/fumiama/go-simple-protobuf v0.2.0/go.mod h1:5yYNapXq1tQMOZg9bOIVhQlZk9pQqpuFIO4DZLbsdy4=
72-
github.com/fumiama/gofastTEA v0.0.10 h1:JJJ+brWD4kie+mmK2TkspDXKzqq0IjXm89aGYfoGhhQ=
73-
github.com/fumiama/gofastTEA v0.0.10/go.mod h1:RIdbYZyB4MbH6ZBlPymRaXn3cD6SedlCu5W/HHfMPBk=
72+
github.com/fumiama/gofastTEA v0.1.3 h1:fxOi2D66knV6QN170hb59YiqxPhjlgizvBw+o0OjxUA=
73+
github.com/fumiama/gofastTEA v0.1.3/go.mod h1:RIdbYZyB4MbH6ZBlPymRaXn3cD6SedlCu5W/HHfMPBk=
7474
github.com/fumiama/gotracemoe v0.0.3 h1:iI5EbE9A3UUbfukG6+/soYPjp1S31eCNYf4tw7s6/Jc=
7575
github.com/fumiama/gotracemoe v0.0.3/go.mod h1:tyqahdUzHf0bQIAVY/GYmDWvYYe5ik1ZbhnGYh+zl40=
7676
github.com/fumiama/imgsz v0.0.4 h1:Lsasu2hdSSFS+vnD+nvR1UkiRMK7hcpyYCC0FzgSMFI=
@@ -79,6 +79,8 @@ github.com/fumiama/jieba v0.0.0-20221203025406-36c17a10b565 h1:sQuR2+N5HurnvsZhi
7979
github.com/fumiama/jieba v0.0.0-20221203025406-36c17a10b565/go.mod h1:UUEvyLTJ7yoOA/viKG4wEis4ERydM7+Ny6gZUWgkS80=
8080
github.com/fumiama/libc v0.0.0-20240530081950-6f6d8586b5c5 h1:jDxsIupsT84A6WHcs6kWbst+KqrRQ8/o0VyoFMnbBOA=
8181
github.com/fumiama/libc v0.0.0-20240530081950-6f6d8586b5c5/go.mod h1:15P6ublJ9FJR8YQCGy8DeQ2Uwur7iW9Hserr/T3OFZE=
82+
github.com/fumiama/orbyte v0.0.0-20251002065953-3bb358367eb5 h1:j9o0XVvdAeLwrBYMnh0SerrMc9CgNU6AGszbsvFzoc0=
83+
github.com/fumiama/orbyte v0.0.0-20251002065953-3bb358367eb5/go.mod h1:FOjdw7KdCbK2eH3gRPhwFNCoXKpu9sN5vPH4El/8e0c=
8284
github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4 h1:zN9e09TYKXI1mNkuS6YbH+Sn+4k5tBir+ovhZZcRYAs=
8385
github.com/fumiama/slowdo v0.0.0-20241001074058-27c4fe5259a4/go.mod h1:iZf1H/Jcw5gjOOFb4C5nlweJtViWc7uwUxRCe14pbYk=
8486
github.com/fumiama/sqlite3 v1.29.10-simp h1:c5y3uKyU0q9t0/SyfynzYyuslQ5zP+5CD8e0yYY554A=
@@ -90,8 +92,6 @@ github.com/fumiama/unibase2n v0.0.0-20240530074540-ec743fd5a6d6/go.mod h1:lEaZsT
9092
github.com/gabriel-vasile/mimetype v1.0.4/go.mod h1:6CDPel/o/3/s4+bp6kIbsWATq8pmgOisOPG40CJa6To=
9193
github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3GqacKw1NM=
9294
github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8=
93-
github.com/go-ego/gse v0.80.3 h1:YNFkjMhlhQnUeuoFcUEd1ivh6SOB764rT8GDsEbDiEg=
94-
github.com/go-ego/gse v0.80.3/go.mod h1:Gt3A9Ry1Eso2Kza4MRaiZ7f2DTAvActmETY46Lxg0gU=
9595
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
9696
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
9797
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
@@ -174,8 +174,8 @@ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs
174174
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
175175
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
176176
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
177-
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
178-
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
177+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
178+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
179179
github.com/tetratelabs/wazero v1.5.0 h1:Yz3fZHivfDiZFUXnWMPUoiW7s8tC1sjdBtlJn08qYa0=
180180
github.com/tetratelabs/wazero v1.5.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
181181
github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY=
@@ -188,14 +188,10 @@ github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFA
188188
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
189189
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
190190
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
191-
github.com/vcaesar/cedar v0.20.2 h1:TDx7AdZhilKcfE1WvdToTJf5VrC/FXcUOW+KY1upLZ4=
192-
github.com/vcaesar/cedar v0.20.2/go.mod h1:lyuGvALuZZDPNXwpzv/9LyxW+8Y6faN7zauFezNsnik=
193-
github.com/vcaesar/tt v0.20.1 h1:D/jUeeVCNbq3ad8M7hhtB3J9x5RZ6I1n1eZ0BJp7M+4=
194-
github.com/vcaesar/tt v0.20.1/go.mod h1:cH2+AwGAJm19Wa6xvEa+0r+sXDJBT0QgNQey6mwqLeU=
195191
github.com/wcharczuk/go-chart/v2 v2.1.2 h1:Y17/oYNuXwZg6TFag06qe8sBajwwsuvPiJJXcUcLL6E=
196192
github.com/wcharczuk/go-chart/v2 v2.1.2/go.mod h1:Zi4hbaqlWpYajnXB2K22IUYVXRXaLfSGNNR7P4ukyyQ=
197-
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20250921063512-13752a73d444 h1:7aYFXzvVr2zuxBvqrGaJb24Z4W12aXBdW8DuE1mteE4=
198-
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20250921063512-13752a73d444/go.mod h1:C86nQ0gIdAri4K2vg8IIQIslt08zzrKMcqYt8zhkx1M=
193+
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20251002074418-56567b7fc282 h1:YctW/t88sQ0H8cJ69PWULU6xWfh8kNsX/XgCpW2OPHw=
194+
github.com/wdvxdr1123/ZeroBot v1.8.2-0.20251002074418-56567b7fc282/go.mod h1:trueIIVRywKJa3ov4QphzVvzYzgCNrlXdf9JvPJOFW8=
199195
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
200196
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
201197
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
@@ -209,8 +205,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY
209205
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
210206
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
211207
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
212-
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM=
213-
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY=
208+
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
209+
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
214210
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
215211
golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
216212
golang.org/x/image v0.31.0 h1:mLChjE2MV6g1S7oqbXC0/UcKijjm5fnJLUYKIYrLESA=
@@ -235,8 +231,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
235231
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
236232
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
237233
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
238-
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
239-
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
234+
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
235+
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
240236
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
241237
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
242238
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=

plugin/thesaurus/chat.go

Lines changed: 19 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,10 @@
22
package thesaurus
33

44
import (
5-
"math/rand"
6-
"strings"
7-
8-
"github.com/go-ego/gse"
9-
"github.com/sirupsen/logrus"
10-
"gopkg.in/yaml.v3"
11-
125
zero "github.com/wdvxdr1123/ZeroBot"
136
"github.com/wdvxdr1123/ZeroBot/message"
147

158
"github.com/FloatTech/AnimeAPI/kimoi"
16-
"github.com/FloatTech/floatbox/ctxext"
17-
"github.com/FloatTech/floatbox/process"
189
ctrl "github.com/FloatTech/zbpctrl"
1910
"github.com/FloatTech/zbputils/control"
2011
)
@@ -23,143 +14,35 @@ func init() {
2314
engine := control.AutoRegister(&ctrl.Options[*zero.Ctx]{
2415
DisableOnDefault: false,
2516
Brief: "词典匹配回复, 仅@触发",
26-
Help: "- 切换[kimo|傲娇|可爱]词库",
2717
PublicDataFolder: "Chat",
2818
})
29-
engine.OnRegex(`^切换(kimo|傲娇|可爱)词库$`, zero.AdminPermission).SetBlock(true).Handle(func(ctx *zero.Ctx) {
30-
c, ok := ctx.State["manager"].(*ctrl.Control[*zero.Ctx])
31-
if !ok {
32-
ctx.SendChain(message.Text("ERROR: 找不到 manager"))
33-
return
34-
}
35-
gid := ctx.Event.GroupID
36-
if gid == 0 {
37-
gid = -ctx.Event.UserID
38-
}
39-
d := c.GetData(gid)
40-
t := int64(0)
41-
switch ctx.State["regex_matched"].([]string)[1] {
42-
case "kimo":
43-
t = tKIMO
44-
case "傲娇":
45-
t = tDERE
46-
case "可爱":
47-
t = tKAWA
48-
}
49-
err := c.SetData(gid, (d&^3)|t)
50-
if err != nil {
51-
ctx.SendChain(message.Text("ERROR: ", err))
52-
return
53-
}
54-
ctx.SendChain(message.Text("成功!"))
55-
})
56-
go func() {
57-
var seg gse.Segmenter
58-
err := seg.LoadDictEmbed()
59-
if err != nil {
60-
panic(err)
61-
}
62-
smd, err := engine.GetLazyData("simai.yml", false)
63-
if err != nil {
64-
panic(err)
65-
}
66-
sm := simai{D: make(map[string][]string, 8192), K: make(map[string][]string, 16384)}
67-
err = yaml.Unmarshal(smd, &sm)
68-
if err != nil {
69-
panic(err)
70-
}
71-
chatListD := make([]string, 0, len(sm.D))
72-
for k := range sm.D {
73-
chatListD = append(chatListD, k)
74-
}
75-
chatListK := make([]string, 0, len(sm.K))
76-
for k := range sm.K {
77-
chatListK = append(chatListK, k)
78-
}
79-
logrus.Infoln("[thesaurus]加载", len(chatListD), "条傲娇词库", len(chatListK), "条可爱词库")
80-
81-
engine.OnMessage(zero.OnlyToMe, canmatch(tKIMO)).
82-
SetBlock(false).Handle(func(ctx *zero.Ctx) {
83-
msg := ctx.ExtractPlainText()
84-
r, err := kimoi.Chat(msg)
85-
if err == nil {
86-
c := 0
87-
for r.Confidence < 0.2 && c < 3 {
88-
r, err = kimoi.Chat(msg)
89-
if err != nil {
90-
return
91-
}
92-
c++
93-
}
94-
if r.Confidence < 0.2 {
19+
engine.OnMessage(zero.OnlyToMe, canmatch()).
20+
SetBlock(false).Handle(func(ctx *zero.Ctx) {
21+
msg := ctx.ExtractPlainText()
22+
r, err := kimoi.Chat(msg)
23+
if err == nil {
24+
c := 0
25+
for r.Confidence < 0.2 && c < 3 {
26+
r, err = kimoi.Chat(msg)
27+
if err != nil {
9528
return
9629
}
97-
ctx.Block()
98-
ctx.SendChain(message.Text(r.Reply))
30+
c++
9931
}
100-
})
101-
engine.OnMessage(zero.OnlyToMe, canmatch(tDERE), match(chatListD, &seg)).
102-
SetBlock(false).
103-
Handle(randreply(sm.D))
104-
engine.OnMessage(zero.OnlyToMe, canmatch(tKAWA), match(chatListK, &seg)).
105-
SetBlock(false).
106-
Handle(randreply(sm.K))
107-
}()
108-
}
109-
110-
type simai struct {
111-
D map[string][]string `yaml:"傲娇"`
112-
K map[string][]string `yaml:"可爱"`
113-
}
114-
115-
const (
116-
tKIMO = iota
117-
tDERE
118-
tKAWA
119-
)
120-
121-
func match(l []string, seg *gse.Segmenter) zero.Rule {
122-
return func(ctx *zero.Ctx) bool {
123-
return ctxext.JiebaSimilarity(0.66, seg, func(ctx *zero.Ctx) string {
124-
return ctx.ExtractPlainText()
125-
}, l...)(ctx)
126-
}
32+
if r.Confidence < 0.2 {
33+
return
34+
}
35+
ctx.Block()
36+
ctx.SendChain(message.Text(r.Reply))
37+
}
38+
})
12739
}
12840

129-
func canmatch(typ int64) zero.Rule {
41+
func canmatch() zero.Rule {
13042
return func(ctx *zero.Ctx) bool {
13143
if zero.HasPicture(ctx) {
13244
return false
13345
}
134-
c, ok := ctx.State["manager"].(*ctrl.Control[*zero.Ctx])
135-
if !ok {
136-
return false
137-
}
138-
gid := ctx.Event.GroupID
139-
if gid == 0 {
140-
gid = -ctx.Event.UserID
141-
}
142-
d := c.GetData(gid)
143-
return ctx.ExtractPlainText() != "" && d&3 == typ
144-
}
145-
}
146-
147-
func randreply(m map[string][]string) zero.Handler {
148-
return func(ctx *zero.Ctx) {
149-
ctx.Block()
150-
key := ctx.State["matched"].(string)
151-
val := m[key]
152-
nick := zero.BotConfig.NickName[rand.Intn(len(zero.BotConfig.NickName))]
153-
text := val[rand.Intn(len(val))]
154-
text = strings.ReplaceAll(text, "{name}", ctx.CardOrNickName(ctx.Event.UserID))
155-
text = strings.ReplaceAll(text, "{me}", nick)
156-
id := ctx.Event.MessageID
157-
for _, t := range strings.Split(text, "{segment}") {
158-
if t == "" {
159-
continue
160-
}
161-
process.SleepAbout1sTo2s()
162-
id = ctx.SendChain(message.Reply(id), message.Text(t))
163-
}
46+
return ctx.ExtractPlainText() != ""
16447
}
16548
}

0 commit comments

Comments
 (0)