forked from lxh/go-wxhelper
85 lines
1.7 KiB
Go
85 lines
1.7 KiB
Go
|
package plugins
|
|||
|
|
|||
|
import (
|
|||
|
"go-wechat/plugin"
|
|||
|
"go-wechat/utils"
|
|||
|
"strings"
|
|||
|
)
|
|||
|
|
|||
|
// Command
|
|||
|
// @description: 自定义指令
|
|||
|
// @param m
|
|||
|
func Command(m *plugin.MessageContext) {
|
|||
|
// 判断是不是指令
|
|||
|
if !strings.HasPrefix(m.Content, "/") {
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
// 用空格分割消息,下标0表示指令
|
|||
|
msgArray := strings.Split(m.Content, " ")
|
|||
|
cmd := msgArray[0]
|
|||
|
|
|||
|
switch cmd {
|
|||
|
case "/帮助", "/h", "/help", "/?", "/?":
|
|||
|
helpCmd(m)
|
|||
|
case "/ls", "/雷神":
|
|||
|
leiGodCmd(m.FromUser, msgArray[1], msgArray[2:]...)
|
|||
|
default:
|
|||
|
utils.SendMessage(m.FromUser, m.GroupUser, "指令错误", 0)
|
|||
|
}
|
|||
|
|
|||
|
// 中止后续消息处理
|
|||
|
m.Abort()
|
|||
|
}
|
|||
|
|
|||
|
// helpCmd
|
|||
|
// @description: 帮助指令
|
|||
|
func helpCmd(m *plugin.MessageContext) {
|
|||
|
str := `帮助菜单:
|
|||
|
指令消息必须以'/'开头,比如: '/帮助'。
|
|||
|
支持的指令:
|
|||
|
|
|||
|
#1. 雷神加速器
|
|||
|
/ls option args
|
|||
|
option: 指令选项,可选值:
|
|||
|
绑定账户:'绑定'、'b',参数: 账户名 密码 [-f],-f表示强制绑定,非必传项
|
|||
|
详情: '详情'、'i'
|
|||
|
暂停: '暂停'、'p'
|
|||
|
示例: 绑定:
|
|||
|
/ls 绑定 123456 123456 或者 /ls b 123456 123456
|
|||
|
`
|
|||
|
utils.SendMessage(m.FromUser, m.GroupUser, str, 0)
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
// leiGodCmd
|
|||
|
// @description: 雷神加速器指令
|
|||
|
// @param userId
|
|||
|
// @param cmd
|
|||
|
// @param args
|
|||
|
// @return string
|
|||
|
func leiGodCmd(userId, cmd string, args ...string) {
|
|||
|
lg := newLeiGod(userId)
|
|||
|
|
|||
|
var replyMsg string
|
|||
|
switch cmd {
|
|||
|
case "绑定", "b":
|
|||
|
var force bool
|
|||
|
if len(args) == 3 && args[2] == "-f" {
|
|||
|
force = true
|
|||
|
}
|
|||
|
replyMsg = lg.binding(args[0], args[1], force)
|
|||
|
case "详情", "i":
|
|||
|
replyMsg = lg.info()
|
|||
|
case "暂停", "p":
|
|||
|
replyMsg = lg.pause()
|
|||
|
default:
|
|||
|
replyMsg = "指令错误"
|
|||
|
}
|
|||
|
|
|||
|
// 返回消息
|
|||
|
if strings.TrimSpace(replyMsg) != "" {
|
|||
|
utils.SendMessage(userId, "", replyMsg, 0)
|
|||
|
}
|
|||
|
}
|