62 lines
1.5 KiB
Go
62 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/line/line-bot-sdk-go/v7/linebot"
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
const NO_COMPAT = "電腦版不支援此訊息, 請至手機上讀取"
|
|
|
|
func Mkdir(args ...interface{}) error {
|
|
var path string
|
|
var mode os.FileMode
|
|
mode = 0755
|
|
for _, arg := range args {
|
|
switch arg := arg.(type) {
|
|
case string:
|
|
path = filepath.Join(path, arg)
|
|
case os.FileMode:
|
|
mode = arg
|
|
}
|
|
}
|
|
return os.MkdirAll(path, mode)
|
|
}
|
|
|
|
func Hit(name, uid string) {
|
|
n := &Node{
|
|
Name: name,
|
|
UserID: uid,
|
|
}
|
|
go DB.Create(n)
|
|
}
|
|
|
|
func SendMessage(replyToken string, to string, messages ...linebot.SendingMessage) (*linebot.BasicResponse, error) {
|
|
if replyToken != "" {
|
|
res, err := bot.ReplyMessage(replyToken, messages...).Do()
|
|
if err != nil {
|
|
log.Error().Err(err).Caller().Interface("response", res).Msg("reply error")
|
|
}
|
|
return res, err
|
|
} else {
|
|
res, err := bot.PushMessage(to, messages...).Do()
|
|
if err != nil {
|
|
log.Error().Err(err).Caller().Interface("response", res).Msg("push error")
|
|
}
|
|
return res, err
|
|
}
|
|
}
|
|
|
|
func DefaultMsg() *linebot.TemplateMessage {
|
|
msg := linebot.NewButtonsTemplate(
|
|
"https://www.taishinlife.com.tw/event/LuckyForNew/assets/img/banner-1.jpg",
|
|
"有甚麼我能為你服務的嗎?", "您可以試著選擇:",
|
|
linebot.NewMessageAction("我想投保", "我想投保"),
|
|
linebot.NewMessageAction("我的資料", "我的資料"),
|
|
linebot.NewMessageAction("辦理理賠", "辦理理賠"),
|
|
)
|
|
return linebot.NewTemplateMessage(NO_COMPAT, msg)
|
|
}
|