mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-19 05:30:07 +08:00
feat(bilibiliparse): B站视频解析 视频上传开关 (#1196)
Some checks are pending
打包最新版为 Docker Image / build docker (push) Waiting to run
最新版 / Build binary CI (386, linux) (push) Waiting to run
最新版 / Build binary CI (386, windows) (push) Waiting to run
最新版 / Build binary CI (amd64, linux) (push) Waiting to run
最新版 / Build binary CI (amd64, windows) (push) Waiting to run
最新版 / Build binary CI (arm, linux) (push) Waiting to run
最新版 / Build binary CI (arm64, linux) (push) Waiting to run
PushLint / lint (push) Waiting to run
Some checks are pending
打包最新版为 Docker Image / build docker (push) Waiting to run
最新版 / Build binary CI (386, linux) (push) Waiting to run
最新版 / Build binary CI (386, windows) (push) Waiting to run
最新版 / Build binary CI (amd64, linux) (push) Waiting to run
最新版 / Build binary CI (amd64, windows) (push) Waiting to run
最新版 / Build binary CI (arm, linux) (push) Waiting to run
最新版 / Build binary CI (arm64, linux) (push) Waiting to run
PushLint / lint (push) Waiting to run
* add control for getVideoDownload * fix: typo
This commit is contained in:
parent
35292a69fc
commit
ac2d53352c
@ -24,8 +24,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
enableHex = 0x10
|
enableVideoSummary = int64(0x10)
|
||||||
unableHex = 0x7fffffff_fffffffd
|
disableVideoSummary = ^enableVideoSummary
|
||||||
|
enableVideoDownload = int64(0x20)
|
||||||
|
disableVideoDownload = ^enableVideoDownload
|
||||||
bilibiliparseReferer = "https://www.bilibili.com"
|
bilibiliparseReferer = "https://www.bilibili.com"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -92,9 +94,9 @@ func init() {
|
|||||||
data := c.GetData(ctx.Event.GroupID)
|
data := c.GetData(ctx.Event.GroupID)
|
||||||
switch option {
|
switch option {
|
||||||
case "开启", "打开", "启用":
|
case "开启", "打开", "启用":
|
||||||
data |= enableHex
|
data |= enableVideoSummary
|
||||||
case "关闭", "关掉", "禁用":
|
case "关闭", "关掉", "禁用":
|
||||||
data &= unableHex
|
data &= disableVideoSummary
|
||||||
default:
|
default:
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -105,6 +107,35 @@ func init() {
|
|||||||
}
|
}
|
||||||
ctx.SendChain(message.Text("已", option, "视频总结"))
|
ctx.SendChain(message.Text("已", option, "视频总结"))
|
||||||
})
|
})
|
||||||
|
en.OnRegex(`^(开启|打开|启用|关闭|关掉|禁用)视频上传$`, zero.AdminPermission).SetBlock(true).
|
||||||
|
Handle(func(ctx *zero.Ctx) {
|
||||||
|
gid := ctx.Event.GroupID
|
||||||
|
if gid <= 0 {
|
||||||
|
// 个人用户设为负数
|
||||||
|
gid = -ctx.Event.UserID
|
||||||
|
}
|
||||||
|
option := ctx.State["regex_matched"].([]string)[1]
|
||||||
|
c, ok := ctx.State["manager"].(*ctrl.Control[*zero.Ctx])
|
||||||
|
if !ok {
|
||||||
|
ctx.SendChain(message.Text("找不到服务!"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
data := c.GetData(ctx.Event.GroupID)
|
||||||
|
switch option {
|
||||||
|
case "开启", "打开", "启用":
|
||||||
|
data |= enableVideoDownload
|
||||||
|
case "关闭", "关掉", "禁用":
|
||||||
|
data &= disableVideoDownload
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err := c.SetData(gid, data)
|
||||||
|
if err != nil {
|
||||||
|
ctx.SendChain(message.Text("出错啦: ", err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ctx.SendChain(message.Text("已", option, "视频上传"))
|
||||||
|
})
|
||||||
en.OnRegex(searchVideo).SetBlock(true).Limit(limit.LimitByGroup).Handle(handleVideo)
|
en.OnRegex(searchVideo).SetBlock(true).Limit(limit.LimitByGroup).Handle(handleVideo)
|
||||||
en.OnRegex(searchDynamic).SetBlock(true).Limit(limit.LimitByGroup).Handle(handleDynamic)
|
en.OnRegex(searchDynamic).SetBlock(true).Limit(limit.LimitByGroup).Handle(handleDynamic)
|
||||||
en.OnRegex(searchArticle).SetBlock(true).Limit(limit.LimitByGroup).Handle(handleArticle)
|
en.OnRegex(searchArticle).SetBlock(true).Limit(limit.LimitByGroup).Handle(handleArticle)
|
||||||
@ -127,7 +158,7 @@ func handleVideo(ctx *zero.Ctx) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
c, ok := ctx.State["manager"].(*ctrl.Control[*zero.Ctx])
|
c, ok := ctx.State["manager"].(*ctrl.Control[*zero.Ctx])
|
||||||
if ok && c.GetData(ctx.Event.GroupID)&enableHex == enableHex {
|
if ok && c.GetData(ctx.Event.GroupID)&enableVideoSummary == enableVideoSummary {
|
||||||
summaryMsg, err := getVideoSummary(cfg, card)
|
summaryMsg, err := getVideoSummary(cfg, card)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
msg = append(msg, message.Text("ERROR: ", err))
|
msg = append(msg, message.Text("ERROR: ", err))
|
||||||
@ -136,12 +167,14 @@ func handleVideo(ctx *zero.Ctx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
ctx.SendChain(msg...)
|
ctx.SendChain(msg...)
|
||||||
downLoadMsg, err := getVideoDownload(cfg, card, cachePath)
|
if ok && c.GetData(ctx.Event.GroupID)&enableVideoDownload == enableVideoDownload {
|
||||||
if err != nil {
|
downLoadMsg, err := getVideoDownload(cfg, card, cachePath)
|
||||||
ctx.SendChain(message.Text("ERROR: ", err))
|
if err != nil {
|
||||||
return
|
ctx.SendChain(message.Text("ERROR: ", err))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ctx.SendChain(downLoadMsg...)
|
||||||
}
|
}
|
||||||
ctx.SendChain(downLoadMsg...)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func handleDynamic(ctx *zero.Ctx) {
|
func handleDynamic(ctx *zero.Ctx) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user