Skip to content

Commit 6c34895

Browse files
committed
move SafeGo to util
1 parent ade18ee commit 6c34895

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

pkg/plugin/plugin.go

Lines changed: 15 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package plugin
22

33
import (
4-
"fmt"
54
"github.com/Mrs4s/MiraiGo/client"
65
"github.com/Mrs4s/MiraiGo/message"
6+
"github.com/ProtobufBot/Go-Mirai-Client/pkg/util"
77
)
88

99
type (
@@ -131,7 +131,7 @@ func AddOfflineFilePlugin(plugin OfflineFilePlugin) {
131131
}
132132

133133
func handlePrivateMessage(cli *client.QQClient, event *message.PrivateMessage) {
134-
SafeGo(func() {
134+
util.SafeGo(func() {
135135
for _, plugin := range PrivateMessagePluginList {
136136
if result := plugin(cli, event); result == MessageBlock {
137137
break
@@ -141,7 +141,7 @@ func handlePrivateMessage(cli *client.QQClient, event *message.PrivateMessage) {
141141
}
142142

143143
func handleGroupMessage(cli *client.QQClient, event *message.GroupMessage) {
144-
SafeGo(func() {
144+
util.SafeGo(func() {
145145
for _, plugin := range GroupMessagePluginList {
146146
if result := plugin(cli, event); result == MessageBlock {
147147
break
@@ -151,7 +151,7 @@ func handleGroupMessage(cli *client.QQClient, event *message.GroupMessage) {
151151
}
152152

153153
func handleTempMessage(cli *client.QQClient, event *message.TempMessage) {
154-
SafeGo(func() {
154+
util.SafeGo(func() {
155155
for _, plugin := range TempMessagePluginList {
156156
if result := plugin(cli, event); result == MessageBlock {
157157
break
@@ -161,7 +161,7 @@ func handleTempMessage(cli *client.QQClient, event *message.TempMessage) {
161161
}
162162

163163
func handleMemberJoinGroup(cli *client.QQClient, event *client.MemberJoinGroupEvent) {
164-
SafeGo(func() {
164+
util.SafeGo(func() {
165165
for _, plugin := range MemberJoinGroupPluginList {
166166
if result := plugin(cli, event); result == MessageBlock {
167167
break
@@ -171,7 +171,7 @@ func handleMemberJoinGroup(cli *client.QQClient, event *client.MemberJoinGroupEv
171171
}
172172

173173
func handleMemberLeaveGroup(cli *client.QQClient, event *client.MemberLeaveGroupEvent) {
174-
SafeGo(func() {
174+
util.SafeGo(func() {
175175
for _, plugin := range MemberLeaveGroupPluginList {
176176
if result := plugin(cli, event); result == MessageBlock {
177177
break
@@ -181,7 +181,7 @@ func handleMemberLeaveGroup(cli *client.QQClient, event *client.MemberLeaveGroup
181181
}
182182

183183
func handleJoinGroup(cli *client.QQClient, event *client.GroupInfo) {
184-
SafeGo(func() {
184+
util.SafeGo(func() {
185185
for _, plugin := range JoinGroupPluginList {
186186
if result := plugin(cli, event); result == MessageBlock {
187187
break
@@ -191,7 +191,7 @@ func handleJoinGroup(cli *client.QQClient, event *client.GroupInfo) {
191191
}
192192

193193
func handleLeaveGroup(cli *client.QQClient, event *client.GroupLeaveEvent) {
194-
SafeGo(func() {
194+
util.SafeGo(func() {
195195
for _, plugin := range LeaveGroupPluginList {
196196
if result := plugin(cli, event); result == MessageBlock {
197197
break
@@ -201,7 +201,7 @@ func handleLeaveGroup(cli *client.QQClient, event *client.GroupLeaveEvent) {
201201
}
202202

203203
func handleNewFriendRequest(cli *client.QQClient, event *client.NewFriendRequest) {
204-
SafeGo(func() {
204+
util.SafeGo(func() {
205205
for _, plugin := range NewFriendRequestPluginList {
206206
if result := plugin(cli, event); result == MessageBlock {
207207
break
@@ -211,7 +211,7 @@ func handleNewFriendRequest(cli *client.QQClient, event *client.NewFriendRequest
211211
}
212212

213213
func handleUserJoinGroupRequest(cli *client.QQClient, event *client.UserJoinGroupRequest) {
214-
SafeGo(func() {
214+
util.SafeGo(func() {
215215
for _, plugin := range UserJoinGroupRequestPluginList {
216216
if result := plugin(cli, event); result == MessageBlock {
217217
break
@@ -221,7 +221,7 @@ func handleUserJoinGroupRequest(cli *client.QQClient, event *client.UserJoinGrou
221221
}
222222

223223
func handleGroupInvitedRequest(cli *client.QQClient, event *client.GroupInvitedRequest) {
224-
SafeGo(func() {
224+
util.SafeGo(func() {
225225
for _, plugin := range GroupInvitedRequestPluginList {
226226
if result := plugin(cli, event); result == MessageBlock {
227227
break
@@ -231,7 +231,7 @@ func handleGroupInvitedRequest(cli *client.QQClient, event *client.GroupInvitedR
231231
}
232232

233233
func handleGroupMessageRecalled(cli *client.QQClient, event *client.GroupMessageRecalledEvent) {
234-
SafeGo(func() {
234+
util.SafeGo(func() {
235235
for _, plugin := range GroupMessageRecalledPluginList {
236236
if result := plugin(cli, event); result == MessageBlock {
237237
break
@@ -241,7 +241,7 @@ func handleGroupMessageRecalled(cli *client.QQClient, event *client.GroupMessage
241241
}
242242

243243
func handleFriendMessageRecalled(cli *client.QQClient, event *client.FriendMessageRecalledEvent) {
244-
SafeGo(func() {
244+
util.SafeGo(func() {
245245
for _, plugin := range FriendMessageRecalledPluginList {
246246
if result := plugin(cli, event); result == MessageBlock {
247247
break
@@ -251,7 +251,7 @@ func handleFriendMessageRecalled(cli *client.QQClient, event *client.FriendMessa
251251
}
252252

253253
func handleNewFriendAdded(cli *client.QQClient, event *client.NewFriendEvent) {
254-
SafeGo(func() {
254+
util.SafeGo(func() {
255255
for _, plugin := range NewFriendAddedPluginList {
256256
if result := plugin(cli, event); result == MessageBlock {
257257
break
@@ -261,7 +261,7 @@ func handleNewFriendAdded(cli *client.QQClient, event *client.NewFriendEvent) {
261261
}
262262

263263
func handleOfflineFile(cli *client.QQClient, event *client.OfflineFileEvent) {
264-
SafeGo(func() {
264+
util.SafeGo(func() {
265265
for _, plugin := range OfflineFilePluginList {
266266
if result := plugin(cli, event); result == MessageBlock {
267267
break
@@ -270,14 +270,3 @@ func handleOfflineFile(cli *client.QQClient, event *client.OfflineFileEvent) {
270270
})
271271
}
272272

273-
func SafeGo(fn func()) {
274-
go func() {
275-
defer func() {
276-
e := recover()
277-
if e != nil {
278-
fmt.Println(e)
279-
}
280-
}()
281-
fn()
282-
}()
283-
}

pkg/util/util.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,15 @@ func ToGlobalId(code int64, msgId int32) int32 {
9696
func IsAMRorSILK(b []byte) bool {
9797
return bytes.HasPrefix(b, HEADER_AMR) || bytes.HasPrefix(b, HEADER_SILK)
9898
}
99+
100+
func SafeGo(fn func()) {
101+
go func() {
102+
defer func() {
103+
e := recover()
104+
if e != nil {
105+
log.Errorf("err recovered: %+v",e)
106+
}
107+
}()
108+
fn()
109+
}()
110+
}

0 commit comments

Comments
 (0)