update
This commit is contained in:
+105
@@ -0,0 +1,105 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/beego/beego/v2/client/httplib"
|
||||
"github.com/buger/jsonparser"
|
||||
)
|
||||
|
||||
func init() {
|
||||
AddCommand("", []Function{
|
||||
{
|
||||
Rules: []string{
|
||||
"^小爱(.*)$",
|
||||
},
|
||||
Handle: func(s Sender) interface{} {
|
||||
api := sillyGirl.Get("小爱同学")
|
||||
if api == "" {
|
||||
return "未设置小同学api"
|
||||
}
|
||||
reply := func(str string) string {
|
||||
str, _ = httplib.Get(fmt.Sprintf(api, str)).String()
|
||||
// s.Reply(str)
|
||||
if gjson := sillyGirl.Get("小爱同学gjson"); gjson != "" {
|
||||
str, _ = jsonparser.GetString([]byte(str), strings.Split(gjson, ".")...)
|
||||
}
|
||||
if str == "" {
|
||||
str = "暂时无法回复。"
|
||||
}
|
||||
return str
|
||||
}
|
||||
msg := s.Get()
|
||||
msg = strings.Trim(msg, " ")
|
||||
if strings.Contains(msg, "对话模式") {
|
||||
stop := false
|
||||
s.Reply(reply("小爱"))
|
||||
for {
|
||||
if stop {
|
||||
return nil
|
||||
}
|
||||
s.Await(s, func(s2 Sender) interface{} {
|
||||
msg := s2.GetContent()
|
||||
msg = strings.Trim(msg, " ")
|
||||
if strings.Contains(msg, "闭嘴") {
|
||||
stop = true
|
||||
}
|
||||
return reply(msg)
|
||||
}, `[\s\S]*`, time.Duration(time.Second*5000))
|
||||
}
|
||||
}
|
||||
if msg == "" {
|
||||
msg = "小爱"
|
||||
}
|
||||
return reply(msg)
|
||||
},
|
||||
},
|
||||
// {
|
||||
// Rules: []string{
|
||||
// "^挑战古诗词$",
|
||||
// },
|
||||
// Handle: func(s Sender) interface{} {
|
||||
// api := sillyGirl.Get("小爱同学")
|
||||
// if api == "" {
|
||||
// return "未设置小同学api"
|
||||
// }
|
||||
// reply := func(str string) string {
|
||||
// str, _ = httplib.Get(fmt.Sprintf(api, str)).String()
|
||||
// // s.Reply(str)
|
||||
// if gjson := sillyGirl.Get("小爱同学gjson"); gjson != "" {
|
||||
// str, _ = jsonparser.GetString([]byte(str), strings.Split(gjson, ".")...)
|
||||
// }
|
||||
// if str == "" {
|
||||
// str = "暂时无法回复。"
|
||||
// }
|
||||
// return str
|
||||
// }
|
||||
// msg := s.Get()
|
||||
// msg = strings.Trim(msg, " ")
|
||||
// if strings.Contains(msg, "对话模式") {
|
||||
// stop := false
|
||||
// s.Reply(reply("小爱"))
|
||||
// for {
|
||||
// if stop {
|
||||
// return nil
|
||||
// }
|
||||
// s.Await(s, func(s2 Sender) interface{} {
|
||||
// msg := s2.GetContent()
|
||||
// msg = strings.Trim(msg, " ")
|
||||
// if strings.Contains(msg, "闭嘴") {
|
||||
// stop = true
|
||||
// }
|
||||
// return reply(msg)
|
||||
// }, `[\s\S]*`, time.Duration(time.Second*5000))
|
||||
// }
|
||||
// }
|
||||
// if msg == "" {
|
||||
// msg = "小爱"
|
||||
// }
|
||||
// return reply(msg)
|
||||
// },
|
||||
// },
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user