2026-06-19 18:47:36 +08:00
|
|
|
package bilibili
|
2026-06-06 19:31:16 +08:00
|
|
|
|
|
|
|
|
import (
|
2026-07-26 22:19:41 +08:00
|
|
|
"context"
|
2026-06-06 19:31:16 +08:00
|
|
|
|
|
|
|
|
"github.com/ssdomei232/goodBaby/model"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// BilibiliDynamicExecutor B站动态执行器
|
|
|
|
|
type BilibiliDynamicExecutor struct{}
|
|
|
|
|
|
|
|
|
|
func (e *BilibiliDynamicExecutor) GetType() string {
|
2026-07-26 22:19:41 +08:00
|
|
|
return RuleTypeDynamic
|
2026-06-06 19:31:16 +08:00
|
|
|
}
|
|
|
|
|
|
2026-09-12 15:32:27 +08:00
|
|
|
func (e *BilibiliDynamicExecutor) Execute(ctx context.Context, task *model.RuleTask) error {
|
|
|
|
|
account, err := ParseAccountConfig(task.AccountConfig())
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
2026-06-06 19:31:16 +08:00
|
|
|
|
2026-09-12 15:32:27 +08:00
|
|
|
config, err := ParseDynamicConfig(task.Rule.ConfigJson)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SendDynamic(ctx, account, config)
|
2026-06-06 19:31:16 +08:00
|
|
|
}
|
2026-07-26 23:15:02 +08:00
|
|
|
|
|
|
|
|
// BilibiliPrivateMessageExecutor B站私信执行器
|
|
|
|
|
type BilibiliPrivateMessageExecutor struct{}
|
|
|
|
|
|
|
|
|
|
func (e *BilibiliPrivateMessageExecutor) GetType() string {
|
|
|
|
|
return RuleTypePrivateMessage
|
|
|
|
|
}
|
|
|
|
|
|
2026-09-12 15:32:27 +08:00
|
|
|
func (e *BilibiliPrivateMessageExecutor) Execute(ctx context.Context, task *model.RuleTask) error {
|
|
|
|
|
account, err := ParseAccountConfig(task.AccountConfig())
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
2026-07-26 23:15:02 +08:00
|
|
|
|
2026-09-12 15:32:27 +08:00
|
|
|
config, err := ParsePrivateMessageConfig(task.Rule.ConfigJson)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return SendPrivateMessage(ctx, account, config)
|
2026-07-26 23:15:02 +08:00
|
|
|
}
|