mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-20 06:20:08 +08:00
58 lines
1.6 KiB
Go
58 lines
1.6 KiB
Go
package fensi
|
||
|
||
import (
|
||
"encoding/json"
|
||
zero "github.com/wdvxdr1123/ZeroBot"
|
||
"github.com/wdvxdr1123/ZeroBot/message"
|
||
"net/http"
|
||
)
|
||
|
||
func init() {
|
||
zero.OnRegex(`^/搜索 (.*)$`).
|
||
Handle(func(ctx *zero.Ctx) {
|
||
keyword := ctx.State["regex_matched"].([]string)[1]
|
||
searchJson := searchapi(keyword)
|
||
|
||
if searchapi(keyword).Data.NumResults == 0 {
|
||
ctx.Send("名字没搜到")
|
||
return
|
||
}
|
||
|
||
if searchapi(keyword).Data.NumResults < 5 {
|
||
ctx.SendChain(message.Text(
|
||
"uid: ", searchJson.Data.Result[0].Mid, "\n",
|
||
"name: ", searchJson.Data.Result[0].Uname, "\n",
|
||
))
|
||
return
|
||
}
|
||
|
||
ctx.SendChain(message.Text(
|
||
"搜索结果很多,请尽量准确关键字,以下为你返回前5条结果", "\n\n",
|
||
"uid1: ", searchJson.Data.Result[0].Mid, "\n",
|
||
"name1: ", searchJson.Data.Result[0].Uname, "\n\n",
|
||
"uid2: ", searchJson.Data.Result[1].Mid, "\n",
|
||
"name2: ", searchJson.Data.Result[1].Uname, "\n\n",
|
||
"uid3: ", searchJson.Data.Result[2].Mid, "\n",
|
||
"name3: ", searchJson.Data.Result[2].Uname, "\n\n",
|
||
"uid4: ", searchJson.Data.Result[3].Mid, "\n",
|
||
"name4: ", searchJson.Data.Result[3].Uname, "\n\n",
|
||
"uid5: ", searchJson.Data.Result[4].Mid, "\n",
|
||
"name5: ", searchJson.Data.Result[4].Uname,
|
||
))
|
||
})
|
||
}
|
||
|
||
func searchapi(keyword string) *search {
|
||
url := "http://api.bilibili.com/x/web-interface/search/type?search_type=bili_user&&user_type=1&keyword=" + keyword
|
||
resp, err := http.Get(url)
|
||
if err != nil {
|
||
panic(err)
|
||
}
|
||
defer resp.Body.Close()
|
||
result := &search{}
|
||
if err := json.NewDecoder(resp.Body).Decode(result); err != nil {
|
||
panic(err)
|
||
}
|
||
return result
|
||
}
|