forked from x/icebergs
37 lines
1.2 KiB
Go
37 lines
1.2 KiB
Go
package chat
|
|
|
|
import (
|
|
ice "shylinux.com/x/icebergs"
|
|
"shylinux.com/x/icebergs/base/ctx"
|
|
"shylinux.com/x/icebergs/base/mdb"
|
|
"shylinux.com/x/icebergs/base/tcp"
|
|
"shylinux.com/x/icebergs/base/web"
|
|
)
|
|
|
|
const KEYBOARD = "keyboard"
|
|
|
|
func init() {
|
|
Index.MergeCommands(ice.Commands{
|
|
KEYBOARD: {Help: "键盘", Actions: ice.MergeActions(ice.Actions{
|
|
web.SPACE: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(web.SPACE, m.Option(web.SPACE), arg) }},
|
|
}, mdb.HashAction(mdb.FIELD, "time,hash,space,index,input")), Hand: func(m *ice.Message, arg ...string) {
|
|
if mdb.HashSelect(m, arg...); len(arg) > 0 {
|
|
msg := m.Cmd(ctx.COMMAND, m.Append(ctx.INDEX))
|
|
m.Push(mdb.META, msg.Append(mdb.META))
|
|
m.Push(mdb.LIST, msg.Append(mdb.LIST))
|
|
ctx.DisplayLocal(m, "")
|
|
}
|
|
}},
|
|
})
|
|
}
|
|
|
|
func KeyboardAction() ice.Actions {
|
|
return ice.Actions{
|
|
KEYBOARD: {Hand: func(m *ice.Message, arg ...string) {
|
|
hash := m.Cmdx("web.chat.keyboard", mdb.CREATE, web.SPACE, m.Option(ice.MSG_DAEMON), ctx.INDEX, m.Option(ctx.INDEX), "input", "")
|
|
link := tcp.PublishLocalhost(m, m.MergePodCmd("", "web.chat.keyboard", mdb.HASH, hash))
|
|
m.Push(mdb.NAME, link).PushQRCode(mdb.TEXT, link)
|
|
}},
|
|
}
|
|
}
|