qq_bot/handler/ticket/ticket.go

59 lines
1.5 KiB
Go
Raw 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 ticket
import (
"fmt"
"strconv"
"git.lxtend.com/qqbot/constants"
"git.lxtend.com/qqbot/handler"
"git.lxtend.com/qqbot/model"
)
func init() {
// Register the handler with the server
handler.RegisterHandler("提单", newTicket, constants.LEVEL_USER)
handler.RegisterHelpInform("提单 [内容]", "ticket", "提单")
handler.RegisterHandler("结单", doneTicket, constants.LEVEL_ROOT)
handler.RegisterHelpInform("结单 [id]", "ticket", "结单")
}
func newTicket(msg model.Message) model.Reply {
id, err := storeTicket(msg.RawMsg[len("提单 "):], msg.UserId, msg.GroupInfo.GroupId)
if err != nil {
return model.Reply{
ReplyMsg: fmt.Sprintf("提单失败: %s", err.Error()),
ReferOriginMsg: true,
FromMsg: msg,
}
}
return model.Reply{
ReplyMsg: fmt.Sprintf("提单成功id为%d可以至 https://www.lxtend.com/ticket 查看工单", id),
ReferOriginMsg: true,
FromMsg: msg,
}
}
func doneTicket(msg model.Message) model.Reply {
id, err := strconv.Atoi(msg.RawMsg[len("结单 "):])
if err != nil {
return model.Reply{
ReplyMsg: fmt.Sprintf("结单失败: %s", err.Error()),
ReferOriginMsg: true,
FromMsg: msg,
}
}
err = setTicketDone(id)
if err != nil {
return model.Reply{
ReplyMsg: fmt.Sprintf("结单失败: %s", err.Error()),
ReferOriginMsg: true,
FromMsg: msg,
}
}
return model.Reply{
ReplyMsg: "结单成功",
ReferOriginMsg: true,
FromMsg: msg,
}
}