forked from x/icebergs
add commend
This commit is contained in:
parent
03f5c287cd
commit
83acf51f5a
@ -193,6 +193,60 @@ var Index = &ice.Context{Name: "nfs", Help: "存储模块",
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}}))
|
}}))
|
||||||
|
m.Cmd(ice.APP_COMMEND, "add", "dir", "base", m.AddCmd(&ice.Command{Name: "commend word", Help: "推荐引擎", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
|
switch arg[0] {
|
||||||
|
case "set":
|
||||||
|
m.Cmdy("nfs.dir", arg[5])
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
travel(m, "./", "", func(name string) {
|
||||||
|
score := 0
|
||||||
|
m.Richs(ice.APP_COMMEND, "meta.user", m.Option(ice.MSG_USERNAME), func(key string, value map[string]interface{}) {
|
||||||
|
m.Grows(ice.APP_COMMEND, kit.Keys("meta.user", kit.MDB_HASH, key, "like"), "", "", func(index int, value map[string]interface{}) {
|
||||||
|
switch kit.Value(value, "extra.engine") {
|
||||||
|
case "dir":
|
||||||
|
if value["type"] == strings.TrimPrefix(path.Ext(name), ".") {
|
||||||
|
score += 1
|
||||||
|
}
|
||||||
|
if value["name"] == path.Base(name) {
|
||||||
|
score += 2
|
||||||
|
}
|
||||||
|
if value["text"] == name {
|
||||||
|
score += 3
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
})
|
||||||
|
m.Grows(cmd, kit.Keys("meta.user", kit.MDB_HASH, key, "hate"), "", "", func(index int, value map[string]interface{}) {
|
||||||
|
switch kit.Value(value, "extra.engine") {
|
||||||
|
case "dir":
|
||||||
|
if value["type"] == strings.TrimPrefix(path.Ext(name), ".") {
|
||||||
|
score -= 1
|
||||||
|
}
|
||||||
|
if value["name"] == path.Base(name) {
|
||||||
|
score -= 2
|
||||||
|
}
|
||||||
|
if value["text"] == name {
|
||||||
|
score -= 3
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
if s, e := os.Stat(name); e == nil {
|
||||||
|
m.Push("pod", m.Option(ice.MSG_USERPOD))
|
||||||
|
m.Push("engine", "dir")
|
||||||
|
m.Push("favor", "file")
|
||||||
|
m.Push("id", kit.FmtSize(s.Size()))
|
||||||
|
m.Push("score", score)
|
||||||
|
m.Push("type", strings.TrimPrefix(path.Ext(name), "."))
|
||||||
|
m.Push("name", path.Base(name))
|
||||||
|
m.Push("text", name)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}}))
|
||||||
}},
|
}},
|
||||||
|
|
||||||
"dir": {Name: "dir name field auto", Help: "目录", List: kit.List(
|
"dir": {Name: "dir name field auto", Help: "目录", List: kit.List(
|
||||||
|
@ -88,6 +88,7 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
"fe", "volcanos",
|
"fe", "volcanos",
|
||||||
)},
|
)},
|
||||||
"search": {Name: "search", Help: "search", Value: kit.Data(kit.MDB_SHORT, kit.MDB_NAME)},
|
"search": {Name: "search", Help: "search", Value: kit.Data(kit.MDB_SHORT, kit.MDB_NAME)},
|
||||||
|
"commend": {Name: "commend", Help: "commend", Value: kit.Data(kit.MDB_SHORT, kit.MDB_NAME, "user", kit.Data(kit.MDB_SHORT, kit.MDB_NAME))},
|
||||||
},
|
},
|
||||||
Commands: map[string]*ice.Command{
|
Commands: map[string]*ice.Command{
|
||||||
ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.ICE_INIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
@ -96,7 +97,7 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
m.Watch(ice.USER_CREATE, m.Prefix("auto"))
|
m.Watch(ice.USER_CREATE, m.Prefix("auto"))
|
||||||
}},
|
}},
|
||||||
ice.ICE_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
ice.ICE_EXIT: {Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
m.Save("river")
|
m.Save("river", "search", "commend")
|
||||||
}},
|
}},
|
||||||
|
|
||||||
"init": {Name: "init", Help: "初始化", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
"init": {Name: "init", Help: "初始化", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
@ -551,20 +552,20 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
|
|
||||||
switch arg[0] {
|
switch arg[0] {
|
||||||
case "add":
|
case "add":
|
||||||
if m.Richs("search", nil, arg[1], nil) == nil {
|
if m.Richs(cmd, nil, arg[1], nil) == nil {
|
||||||
m.Rich("search", nil, kit.Data(kit.MDB_NAME, arg[1]))
|
m.Rich(cmd, nil, kit.Data(kit.MDB_NAME, arg[1]))
|
||||||
}
|
}
|
||||||
m.Richs("search", nil, arg[1], func(key string, value map[string]interface{}) {
|
m.Richs(cmd, nil, arg[1], func(key string, value map[string]interface{}) {
|
||||||
m.Grow("search", kit.Keys(kit.MDB_HASH, key), kit.Dict(
|
m.Grow(cmd, kit.Keys(kit.MDB_HASH, key), kit.Dict(
|
||||||
kit.MDB_NAME, arg[2], kit.MDB_TEXT, arg[3:],
|
kit.MDB_NAME, arg[2], kit.MDB_TEXT, arg[3:],
|
||||||
))
|
))
|
||||||
})
|
})
|
||||||
case "get":
|
case "get":
|
||||||
wg := &sync.WaitGroup{}
|
wg := &sync.WaitGroup{}
|
||||||
m.Richs("search", nil, arg[1], func(key string, value map[string]interface{}) {
|
m.Richs(cmd, nil, arg[1], func(key string, value map[string]interface{}) {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
m.Gos(m, func(m *ice.Message) {
|
m.Gos(m, func(m *ice.Message) {
|
||||||
m.Grows("search", kit.Keys(kit.MDB_HASH, key), "", "", func(index int, value map[string]interface{}) {
|
m.Grows(cmd, kit.Keys(kit.MDB_HASH, key), "", "", func(index int, value map[string]interface{}) {
|
||||||
m.Cmdy(value[kit.MDB_TEXT], arg[2:])
|
m.Cmdy(value[kit.MDB_TEXT], arg[2:])
|
||||||
})
|
})
|
||||||
wg.Done()
|
wg.Done()
|
||||||
@ -577,20 +578,20 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
m.Richs("search", nil, arg[2], func(key string, value map[string]interface{}) {
|
m.Richs(cmd, nil, arg[2], func(key string, value map[string]interface{}) {
|
||||||
m.Grows("search", kit.Keys(kit.MDB_HASH, key), "", "", func(index int, value map[string]interface{}) {
|
m.Grows(cmd, kit.Keys(kit.MDB_HASH, key), "", "", func(index int, value map[string]interface{}) {
|
||||||
m.Cmdy(value[kit.MDB_TEXT], "set", arg[3:])
|
m.Cmdy(value[kit.MDB_TEXT], "set", arg[3:])
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
default:
|
default:
|
||||||
if len(arg) == 2 {
|
if len(arg) == 2 {
|
||||||
m.Richs("search", nil, "*", func(key string, value map[string]interface{}) {
|
m.Richs(cmd, nil, "*", func(key string, value map[string]interface{}) {
|
||||||
m.Push(key, value)
|
m.Push(key, value)
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if len(arg) == 3 {
|
if len(arg) == 3 {
|
||||||
m.Richs("search", nil, "*", func(key string, value map[string]interface{}) {
|
m.Richs(cmd, nil, "*", func(key string, value map[string]interface{}) {
|
||||||
m.Push(key, value)
|
m.Push(key, value)
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
@ -598,12 +599,83 @@ var Index = &ice.Context{Name: "chat", Help: "聊天中心",
|
|||||||
m.Cmdy(ice.WEB_LABEL, arg[0], arg[1], "web.chat.search", "get", arg[2:])
|
m.Cmdy(ice.WEB_LABEL, arg[0], arg[1], "web.chat.search", "get", arg[2:])
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
"commend": {Name: "commend label=some word=请求响应 auto", Help: "推荐引擎", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
"commend": {Name: "commend label pod engine work auto", Help: "推荐引擎", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||||
if len(arg) < 2 {
|
if len(arg) < 2 {
|
||||||
m.Cmdy(ice.WEB_LABEL, arg)
|
m.Cmdy(ice.WEB_LABEL, arg)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.Cmdy(ice.WEB_LABEL, arg[0], "*", "favor", "search", arg[1:])
|
|
||||||
|
switch arg[0] {
|
||||||
|
case "add":
|
||||||
|
if m.Richs(cmd, nil, arg[1], nil) == nil {
|
||||||
|
m.Rich(cmd, nil, kit.Data(kit.MDB_NAME, arg[1]))
|
||||||
|
}
|
||||||
|
m.Richs(cmd, nil, arg[1], func(key string, value map[string]interface{}) {
|
||||||
|
m.Grow(cmd, kit.Keys(kit.MDB_HASH, key), kit.Dict(
|
||||||
|
kit.MDB_NAME, arg[2], kit.MDB_TEXT, arg[3:],
|
||||||
|
))
|
||||||
|
})
|
||||||
|
case "get":
|
||||||
|
wg := &sync.WaitGroup{}
|
||||||
|
m.Richs(cmd, nil, arg[1], func(key string, value map[string]interface{}) {
|
||||||
|
wg.Add(1)
|
||||||
|
m.Gos(m, func(m *ice.Message) {
|
||||||
|
m.Grows(cmd, kit.Keys(kit.MDB_HASH, key), "", "", func(index int, value map[string]interface{}) {
|
||||||
|
m.Cmdy(value[kit.MDB_TEXT], arg[2:])
|
||||||
|
})
|
||||||
|
wg.Done()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
wg.Wait()
|
||||||
|
case "set":
|
||||||
|
if arg[1] != "" {
|
||||||
|
// m.Cmdy(ice.WEB_SPACE, arg[1], "web.chat.commend", "set", "", arg[2:])
|
||||||
|
// break
|
||||||
|
}
|
||||||
|
|
||||||
|
if m.Richs(cmd, "meta.user", m.Option(ice.MSG_USERNAME), nil) == nil {
|
||||||
|
m.Rich(cmd, "meta.user", kit.Dict(
|
||||||
|
kit.MDB_NAME, m.Option(ice.MSG_USERNAME),
|
||||||
|
))
|
||||||
|
}
|
||||||
|
switch m.Option("_action") {
|
||||||
|
case "喜欢":
|
||||||
|
m.Richs(cmd, "meta.user", m.Option(ice.MSG_USERNAME), func(key string, value map[string]interface{}) {
|
||||||
|
m.Grow(cmd, kit.Keys("meta.user", kit.MDB_HASH, key, "like"), kit.Dict(
|
||||||
|
kit.MDB_EXTRA, kit.Dict("engine", arg[2], "favor", arg[3], "id", arg[4]),
|
||||||
|
kit.MDB_TYPE, arg[5], kit.MDB_NAME, arg[6], kit.MDB_TEXT, arg[7],
|
||||||
|
))
|
||||||
|
})
|
||||||
|
case "讨厌":
|
||||||
|
m.Richs(cmd, "meta.user", m.Option(ice.MSG_USERNAME), func(key string, value map[string]interface{}) {
|
||||||
|
m.Grow(cmd, kit.Keys("meta.user", kit.MDB_HASH, key, "hate"), kit.Dict(
|
||||||
|
kit.MDB_EXTRA, kit.Dict("engine", arg[2], "favor", arg[3], "id", arg[4]),
|
||||||
|
kit.MDB_TYPE, arg[5], kit.MDB_NAME, arg[6], kit.MDB_TEXT, arg[7],
|
||||||
|
))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
m.Richs(cmd, nil, arg[2], func(key string, value map[string]interface{}) {
|
||||||
|
m.Grows(cmd, kit.Keys(kit.MDB_HASH, key), "", "", func(index int, value map[string]interface{}) {
|
||||||
|
m.Cmdy(value[kit.MDB_TEXT], "set", arg[3:])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
default:
|
||||||
|
if len(arg) == 2 {
|
||||||
|
m.Richs(cmd, nil, "*", func(key string, value map[string]interface{}) {
|
||||||
|
m.Push(key, value)
|
||||||
|
})
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if len(arg) == 3 {
|
||||||
|
m.Richs(cmd, nil, "*", func(key string, value map[string]interface{}) {
|
||||||
|
m.Push(key, value)
|
||||||
|
})
|
||||||
|
break
|
||||||
|
}
|
||||||
|
// m.Cmdy(ice.WEB_LABEL, arg[0], arg[1], "web.chat.commend", "get", arg[2:])
|
||||||
|
m.Cmdy("web.chat.commend", "get", arg[2:])
|
||||||
|
}
|
||||||
}},
|
}},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user