go-wxhelper/plugin/plugins/command.go

85 lines
1.7 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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)
}
}