-
-
Notifications
You must be signed in to change notification settings - Fork 70
/
config.go
43 lines (38 loc) · 1.06 KB
/
config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package youtube
import (
"github.com/Sora233/DDBOT/concern"
"github.com/Sora233/DDBOT/lsp/concern_manager"
)
type GroupConcernConfig struct {
concern_manager.GroupConcernConfig
}
func (g *GroupConcernConfig) AtBeforeHook(notify concern.Notify) (hook *concern_manager.HookResult) {
hook = new(concern_manager.HookResult)
switch notify.Type() {
case concern.YoutubeLive:
e := notify.(*ConcernNotify)
if !e.IsLiving() {
hook.Reason = "IsLiving() is false"
return
} else {
hook.PassOrReason(e.LiveStatusChanged, "LiveStatusChanged is false")
return
}
case concern.YoutubeVideo:
hook.Pass = true
return
}
return g.GroupConcernConfig.AtBeforeHook(notify)
}
func (g *GroupConcernConfig) ShouldSendHook(notify concern.Notify) (hook *concern_manager.HookResult) {
hook = new(concern_manager.HookResult)
switch notify.(type) {
case *ConcernNotify:
hook.Pass = true
return
}
return g.GroupConcernConfig.ShouldSendHook(notify)
}
func NewGroupConcernConfig(g *concern_manager.GroupConcernConfig) *GroupConcernConfig {
return &GroupConcernConfig{*g}
}