update
This commit is contained in:
@@ -8,12 +8,10 @@ import (
|
||||
|
||||
"github.com/astaxie/beego/logs"
|
||||
"github.com/beego/beego/v2/adapter/httplib"
|
||||
"github.com/cdle/sillyGirl/im"
|
||||
"gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
type Yaml struct {
|
||||
Im []im.Config
|
||||
Replies []Reply
|
||||
}
|
||||
|
||||
|
||||
+5
-6
@@ -6,7 +6,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/beego/beego/v2/adapter/logs"
|
||||
"github.com/cdle/sillyGirl/im"
|
||||
cron "github.com/robfig/cron/v3"
|
||||
)
|
||||
|
||||
@@ -21,7 +20,7 @@ type Function struct {
|
||||
Rules []string
|
||||
FindAll bool
|
||||
Admin bool
|
||||
Handle func(s im.Sender) interface{}
|
||||
Handle func(s Sender) interface{}
|
||||
Cron string
|
||||
}
|
||||
|
||||
@@ -33,10 +32,10 @@ var name = func() string {
|
||||
|
||||
var functions = []Function{}
|
||||
|
||||
var Senders chan im.Sender
|
||||
var Senders chan Sender
|
||||
|
||||
func initToHandleMessage() {
|
||||
Senders = make(chan im.Sender)
|
||||
Senders = make(chan Sender)
|
||||
go func() {
|
||||
for {
|
||||
go handleMessage(<-Senders)
|
||||
@@ -63,7 +62,7 @@ func AddCommand(prefix string, cmds []Function) {
|
||||
functions = append(functions, cmds[j])
|
||||
if cmds[j].Cron != "" {
|
||||
if _, err := c.AddFunc(cmds[j].Cron, func() {
|
||||
cmds[j].Handle(&im.Faker{})
|
||||
cmds[j].Handle(&Faker{})
|
||||
}); err != nil {
|
||||
logs.Warn("任务%v添加失败%v", cmds[j].Rules[0], err)
|
||||
} else {
|
||||
@@ -73,7 +72,7 @@ func AddCommand(prefix string, cmds []Function) {
|
||||
}
|
||||
}
|
||||
|
||||
func handleMessage(sender im.Sender) {
|
||||
func handleMessage(sender Sender) {
|
||||
for _, function := range functions {
|
||||
for _, rule := range function.Rules {
|
||||
var matched bool
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package im
|
||||
package core
|
||||
|
||||
import (
|
||||
"time"
|
||||
@@ -26,14 +26,6 @@ type Sender interface {
|
||||
Disappear(lifetime ...time.Duration)
|
||||
}
|
||||
|
||||
type Config struct {
|
||||
Type string
|
||||
Masters []int
|
||||
Groups []int
|
||||
Token string
|
||||
CustomConfig string
|
||||
}
|
||||
|
||||
type Faker struct {
|
||||
Message interface{}
|
||||
matches [][]string
|
||||
+3
-4
@@ -7,7 +7,6 @@ import (
|
||||
|
||||
"github.com/beego/beego/v2/adapter/httplib"
|
||||
"github.com/buger/jsonparser"
|
||||
"github.com/cdle/sillyGirl/im"
|
||||
)
|
||||
|
||||
type Reply struct {
|
||||
@@ -27,13 +26,13 @@ type Reply struct {
|
||||
func InitReplies() {
|
||||
for _, v := range Config.Replies {
|
||||
reply := v
|
||||
var handler func(s im.Sender) interface{}
|
||||
var handler func(s Sender) interface{}
|
||||
if reply.Type != "url" {
|
||||
handler = func(s im.Sender) interface{} {
|
||||
handler = func(s Sender) interface{} {
|
||||
return reply.Content
|
||||
}
|
||||
}
|
||||
handler = func(s im.Sender) interface{} {
|
||||
handler = func(s Sender) interface{} {
|
||||
url := reply.Request.Url
|
||||
body := reply.Request.Body
|
||||
for k, v := range s.GetMatch() {
|
||||
|
||||
+7
-9
@@ -6,8 +6,6 @@ import (
|
||||
"io/ioutil"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/cdle/sillyGirl/im"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -37,7 +35,7 @@ func initSys() {
|
||||
AddCommand("", []Function{
|
||||
{
|
||||
Rules: []string{"raw ^name$"},
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
return name()
|
||||
},
|
||||
@@ -45,7 +43,7 @@ func initSys() {
|
||||
{
|
||||
Rules: []string{"raw ^升级$"},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
s.Reply(name() + "开始检查核心功能。")
|
||||
update := false
|
||||
@@ -95,7 +93,7 @@ func initSys() {
|
||||
{
|
||||
Rules: []string{"raw ^重启$"},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
sillyGirl.Set("rebootInfo", fmt.Sprintf("%v %v %v", s.GetImType(), s.GetChatID(), s.GetUserID()))
|
||||
Daemon()
|
||||
@@ -104,7 +102,7 @@ func initSys() {
|
||||
},
|
||||
{
|
||||
Rules: []string{"raw ^命令$"},
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
ss := []string{}
|
||||
for _, f := range functions {
|
||||
@@ -116,7 +114,7 @@ func initSys() {
|
||||
{
|
||||
Admin: true,
|
||||
Rules: []string{"set ? ? ?"},
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
b := Bucket(s.Get(0))
|
||||
if !IsBucket(b) {
|
||||
@@ -129,7 +127,7 @@ func initSys() {
|
||||
{
|
||||
Admin: true,
|
||||
Rules: []string{"delete ? ?"},
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
b := Bucket(s.Get(0))
|
||||
if !IsBucket(b) {
|
||||
@@ -142,7 +140,7 @@ func initSys() {
|
||||
{
|
||||
Admin: true,
|
||||
Rules: []string{"get ? ?"},
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s Sender) interface{} {
|
||||
s.Disappear()
|
||||
b := Bucket(s.Get(0))
|
||||
if !IsBucket(b) {
|
||||
|
||||
@@ -6,7 +6,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/cdle/sillyGirl/core"
|
||||
"github.com/cdle/sillyGirl/im"
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -14,7 +13,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`config`},
|
||||
Admin: true,
|
||||
Handle: func(_ im.Sender) interface{} {
|
||||
Handle: func(_ core.Sender) interface{} {
|
||||
config, err := GetConfig()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -30,7 +29,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`envs`},
|
||||
Admin: true,
|
||||
Handle: func(_ im.Sender) interface{} {
|
||||
Handle: func(_ core.Sender) interface{} {
|
||||
envs, err := GetConfigEnvs("")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -48,7 +47,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`env get ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
name := s.Get()
|
||||
envs, err := GetConfigEnvs(name)
|
||||
if err != nil {
|
||||
@@ -69,7 +68,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`env find ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
m := s.Get()
|
||||
envs, err := GetConfigEnvs(m)
|
||||
if err != nil {
|
||||
@@ -88,7 +87,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`env set ? ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
err := SetConfigEnv(Env{
|
||||
Name: s.Get(0),
|
||||
Value: s.Get(1),
|
||||
@@ -103,7 +102,7 @@ func init() {
|
||||
// {
|
||||
// Rules: []string{`env delete ?`},
|
||||
// Admin: true,
|
||||
// Handle: func(s im.Sender) interface{} {
|
||||
// Handle: func(s core.Sender) interface{} {
|
||||
// if err := DelEnv(&Env{ID: s.Get()}); err != nil {
|
||||
// return err
|
||||
// }
|
||||
@@ -113,7 +112,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`env remark ? ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
if err := SetConfigEnv(Env{Name: s.Get(0), Remarks: s.Get(1), Status: 3}); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -123,7 +122,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`env disable ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
if err := SetConfigEnv(Env{Name: s.Get(), Status: 1}); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -133,7 +132,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`env enable ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
if err := SetConfigEnv(Env{Name: s.Get()}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
+11
-12
@@ -7,7 +7,6 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/cdle/sillyGirl/core"
|
||||
"github.com/cdle/sillyGirl/im"
|
||||
)
|
||||
|
||||
type CronResponse struct {
|
||||
@@ -34,7 +33,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`crons`},
|
||||
Admin: true,
|
||||
Handle: func(_ im.Sender) interface{} {
|
||||
Handle: func(_ core.Sender) interface{} {
|
||||
crons, err := GetCrons("")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -52,7 +51,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron status ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
keyword := s.Get()
|
||||
crons, err := GetCrons("")
|
||||
if err != nil {
|
||||
@@ -77,7 +76,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron run ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
cron, err := GetCronID(s.Get())
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -91,7 +90,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron stop ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
cron, err := GetCronID(s.Get())
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -105,7 +104,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron enable ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
cron, err := GetCronID(s.Get())
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -119,7 +118,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron disable ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
cron, err := GetCronID(s.Get())
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -133,7 +132,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron find ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
name := s.Get()
|
||||
crons, err := GetCrons("")
|
||||
if err != nil {
|
||||
@@ -154,7 +153,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`cron logs ?`},
|
||||
Admin: true,
|
||||
Handle: func(s im.Sender) interface{} {
|
||||
Handle: func(s core.Sender) interface{} {
|
||||
cron, err := GetCronID(s.Get())
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -169,7 +168,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`update`},
|
||||
Admin: true,
|
||||
Handle: func(_ im.Sender) interface{} {
|
||||
Handle: func(_ core.Sender) interface{} {
|
||||
cron, err := GetCronID("更新面板")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -183,7 +182,7 @@ func init() {
|
||||
{
|
||||
Rules: []string{`update logs`},
|
||||
Admin: true,
|
||||
Handle: func(_ im.Sender) interface{} {
|
||||
Handle: func(_ core.Sender) interface{} {
|
||||
cron, err := GetCronID("更新面板")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -199,7 +198,7 @@ func init() {
|
||||
Rules: []string{`cron hide duplicate`},
|
||||
Admin: true,
|
||||
Cron: "*/10 * * * *",
|
||||
Handle: func(_ im.Sender) interface{} {
|
||||
Handle: func(_ core.Sender) interface{} {
|
||||
w := func(s string) int {
|
||||
if strings.Contains(s, "shufflewzc") {
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user