func dialogueHandler(robot victor.Robot) { robot.HandleFunc(robot.Direct("(.+)"), func(s victor.State) { d := docomo.NewClient(os.Getenv("DOCOMO_DIALOGUE_API_KEY")) dialogue := docomo.DialogueRequest{ Utt: &s.Params()[0], } get, _ := d.Dialogue.Get(dialogue, true) s.Chat().Send(s.Message().ChannelID(), get.Utt) }) }
func main() { if apiKey == "" { log.Fatalln("APIKEYを指定して下さい") } d := docomo.NewClient(apiKey) zatsu := docomo.DialogueRequest{ Nickname: &nickName, Utt: &message, } res, err := d.Dialogue.Get(zatsu, true) if err != nil { log.Fatalln(err) } log.Printf("%s\n", res.Utt) }
func main() { if apiKey == "" { log.Fatalln("APIKEYを指定して下さい") } d := docomo.NewClient(apiKey) qaReq := docomo.KnowledgeQARequest{ QAText: qa, } res, err := d.KnowledgeQA.Get(qaReq) if err != nil { log.Fatalln(err) } else if !res.Success() { log.Fatalln("質問の答えがわかりません") } log.Printf("%s\n", res.Answers[0].AnswerText) }
func main() { if apiKey == "" { log.Fatalln("APIKEYを指定して下さい") } d := docomo.NewClient(apiKey) fmt.Println() fmt.Println("---ジャンル取得---") fmt.Println() gRes, err := d.Trend.GetGenre(docomo.TrendGenreRequest{}) if err != nil { log.Fatalln(err) } fmt.Println(gRes) fmt.Println() fmt.Println("---記事取得---") fmt.Println() var contentsReq docomo.TrendContentsRequest contentsReq.GenreID = &gRes.Genre[0].GenreID cRes, err := d.Trend.GetContents(contentsReq) if err != nil { log.Fatalln(err) } fmt.Println(cRes) fmt.Println() fmt.Println("---キーワード検索---") fmt.Println() var searchReq docomo.TrendSearchRequest searchReq.Keyword = &keyword sRes, err := d.Trend.GetSearch(searchReq) if err != nil { log.Fatalln(err) } fmt.Println(sRes) fmt.Println() fmt.Println("---関連記事検索---") fmt.Println() var relatedReq docomo.TrendRelatedRequest // TODO: なかなかヒットしないからループして全部チェックしてる for _, cont := range sRes.ArticleContents { relatedReq.ContentID = &cont.ContentID rRes, err := d.Trend.GetRelated(relatedReq) if err != nil { log.Fatalln(err) } if rRes.TotalResults > 0 { fmt.Println(rRes) break } } }