1
0
mirror of https://shylinux.com/x/icebergs synced 2025-04-26 01:24:05 +08:00
icebergs/core/chat/group.go
2024-03-09 15:07:46 +08:00

34 lines
1.1 KiB
Go

package chat
import (
ice "shylinux.com/x/icebergs"
"shylinux.com/x/icebergs/base/mdb"
"shylinux.com/x/icebergs/base/tcp"
"shylinux.com/x/icebergs/base/web"
kit "shylinux.com/x/toolkits"
)
const GROUP = "group"
func init() {
Index.MergeCommands(ice.Commands{
GROUP: {Help: "群组", Actions: ice.MergeActions(ice.Actions{
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
switch arg[0] {
case mdb.NAME:
m.AdminCmd(web.MATRIX).Table(func(value ice.Maps) {
m.Push(arg[0], kit.Keys(kit.Select("", ice.OPS, ice.Info.NodeType == web.WORKER), value[web.DOMAIN], value[mdb.NAME]))
m.Push(mdb.TYPE, value[mdb.TYPE])
})
}
}},
mdb.CREATE: {Name: "create type*=worker,server,origin, name*"},
tcp.SEND: {Name: "send text=hi", Hand: func(m *ice.Message, arg ...string) {
m.Cmd(web.SPACE, m.Option(mdb.NAME), Prefix(MESSAGE), tcp.RECV, mdb.TEXT, m.Option(mdb.TEXT))
}},
}, mdb.HashAction(mdb.SHORT, mdb.NAME, mdb.FIELD, "time,type*,name*")), Hand: func(m *ice.Message, arg ...string) {
mdb.HashSelect(m, arg...).PushAction(tcp.SEND, mdb.REMOVE)
}},
})
}