This commit is contained in:
cdle
2023-07-01 12:53:22 +08:00
parent 04d7492f6c
commit 8fe9f6ec3d
9 changed files with 38 additions and 18 deletions
+6 -6
View File
@@ -334,7 +334,7 @@ func (f *Factory) SetReplyHandler(function func(map[string]interface{}) string)
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("Sender(\""+f.botplt+"\").SetReply error:", err) pluginConsole(f.uuid).Error("Sender(\""+f.botplt+"\").SetReply error:", err)
} }
}() }()
return function(m) return function(m)
@@ -512,7 +512,7 @@ func (f *Factory) SetRecallMessage(function func(interface{}) bool) {
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("Sender(\""+f.botplt+"\").recall error:", err) pluginConsole(f.uuid).Error("Sender(\""+f.botplt+"\").recall error:", err)
} }
}() }()
return function(i) return function(i)
@@ -524,7 +524,7 @@ func (f *Factory) SetGroupKick(function func(uid string, gid string, reject_add_
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("Sender(\""+f.botplt+"\").GroupKick error:", err) pluginConsole(f.uuid).Error("Sender(\""+f.botplt+"\").GroupKick error:", err)
} }
}() }()
return function(uid, gid, reject_add_request) return function(uid, gid, reject_add_request)
@@ -536,7 +536,7 @@ func (f *Factory) SetGroupBan(function func(uid string, gid string, duration int
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("Sender(\""+f.botplt+"\").SetGroupBan error:", err) pluginConsole(f.uuid).Error("Sender(\""+f.botplt+"\").SetGroupBan error:", err)
} }
}() }()
return function(uid, gid, duration) return function(uid, gid, duration)
@@ -548,7 +548,7 @@ func (f *Factory) SetGroupUnban(function func(uid string, gid string) bool) {
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("Sender(\""+f.botplt+"\").SetgroupUnban error:", err) pluginConsole(f.uuid).Error("Sender(\""+f.botplt+"\").SetgroupUnban error:", err)
} }
}() }()
return function(uid, gid) return function(uid, gid)
@@ -560,7 +560,7 @@ func (f *Factory) SetIsAdmin(function func(string) bool) {
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("Sender(\""+f.botplt+"\").SetAdmin error:", err) pluginConsole(f.uuid).Error("Sender(\""+f.botplt+"\").SetAdmin error:", err)
} }
}() }()
return function(uid) return function(uid)
+1 -1
View File
@@ -8,6 +8,6 @@
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script src="/admin/umi.de72b891.js"></script> <script src="/admin/umi.40e36101.js"></script>
</body></html> </body></html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -17,6 +17,7 @@ import (
) )
type Strings struct { type Strings struct {
UUID string
} }
func (sender *Strings) Diff(a, b []interface{}) []interface{} { func (sender *Strings) Diff(a, b []interface{}) []interface{} {
+2 -2
View File
@@ -7,7 +7,7 @@ import (
func (sender *Strings) ParseXml(str string) map[string]interface{} { func (sender *Strings) ParseXml(str string) map[string]interface{} {
m, err := mxj.NewMapXml([]byte(str)) m, err := mxj.NewMapXml([]byte(str))
if err != nil { if err != nil {
console.Error("xml解析错误:", err) pluginConsole(sender.UUID).Error("xml解析错误:", err)
} }
return m return m
} }
@@ -15,7 +15,7 @@ func (sender *Strings) ParseXml(str string) map[string]interface{} {
func (sender *Strings) Xml(m map[string]interface{}) string { func (sender *Strings) Xml(m map[string]interface{}) string {
xmlStr, err := mxj.Map(m).Xml() xmlStr, err := mxj.Map(m).Xml()
if err != nil { if err != nil {
console.Error("xml编码错误:", err) pluginConsole(sender.UUID).Error("xml编码错误:", err)
} }
return string(xmlStr) return string(xmlStr)
} }
+2 -2
View File
@@ -199,7 +199,7 @@ func initPlugins() {
} }
f, cbs, err := initPlugin(new, key) f, cbs, err := initPlugin(new, key)
if err != nil && new != "" { if err != nil && new != "" {
console.Error(err) pluginConsole(key).Error(err)
} }
apd := false apd := false
for i := range Functions { for i := range Functions {
@@ -500,7 +500,7 @@ func initPlugin(data string, uuid string) (*common.Function, []func(), error) {
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("脚本错误:", err) pluginConsole(uuid).Error("脚本错误:", err)
// s.Reply(fmt.Sprint(err)) // s.Reply(fmt.Sprint(err))
} }
}() }()
+7 -1
View File
@@ -47,6 +47,12 @@ type Console struct {
var console = &Console{} var console = &Console{}
var Logs = &Console{} var Logs = &Console{}
func pluginConsole(uuid string) *Console {
return &Console{
UUID: uuid,
}
}
func Broadcast2WebUser(content, class string) { func Broadcast2WebUser(content, class string) {
if (RegistFuncs["Broadcast2WebUser"]) == nil { if (RegistFuncs["Broadcast2WebUser"]) == nil {
return return
@@ -417,7 +423,7 @@ func (sender *SenderJsIplm) Listen(ps ...interface{}) interface{} {
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("%v at %v", err, GetScriptNameByUUID(sender.UUID)) pluginConsole(sender.UUID).Error("%v at %v", err, GetScriptNameByUUID(sender.UUID))
} }
}() }()
// fmt.Println(newJsSender) // fmt.Println(newJsSender)
+17 -4
View File
@@ -214,7 +214,7 @@ func SetPluginMethod(vm *goja.Runtime, uuid string, on_start bool, running func(
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("C.AddFunc err: %v", err) pluginConsole(uuid).Error("C.AddFunc err: %v", err)
} }
}() }()
f() f()
@@ -255,7 +255,7 @@ func SetPluginMethod(vm *goja.Runtime, uuid string, on_start bool, running func(
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("gofor running error:", err) pluginConsole(uuid).Error("gofor running error:", err)
} }
}() }()
return running() return running()
@@ -266,7 +266,7 @@ func SetPluginMethod(vm *goja.Runtime, uuid string, on_start bool, running func(
defer func() { defer func() {
err := recover() err := recover()
if err != nil { if err != nil {
console.Error("gofor error:", err) pluginConsole(uuid).Error("gofor error:", err)
} }
}() }()
handle() handle()
@@ -328,7 +328,9 @@ func SetPluginMethod(vm *goja.Runtime, uuid string, on_start bool, running func(
return RegistFuncs[str] return RegistFuncs[str]
}) })
vm.Set("fmt", &Fmt{}) vm.Set("fmt", &Fmt{})
vm.Set("strings", &Strings{}) vm.Set("strings", &Strings{
UUID: uuid,
})
// vm.Set("Bucket", BucketJsImpl) // vm.Set("Bucket", BucketJsImpl)
vm.Set("time", &TimeJsImpl{ vm.Set("time", &TimeJsImpl{
Second: time.Second, Second: time.Second,
@@ -428,6 +430,17 @@ func SetPluginMethod(vm *goja.Runtime, uuid string, on_start bool, running func(
Vm: vm, Vm: vm,
} }
}) })
vm.Set("importJs", func(file string) error {
file = strings.Replace(file, ".js", "", -1)
for _, f := range Functions {
if f.Title == file {
vm.RunString(plugins.GetString(f.UUID))
return nil
}
}
pluginConsole(uuid).Error("无法通过importJs导入" + file + ".js")
panic(Error(vm, "无法通过importJs导入"+file))
})
} }
func EncryptPlugin(script string) string { func EncryptPlugin(script string) string {