Пример #1
0
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)
	})
}
Пример #2
0
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)
}
Пример #3
0
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)
}
Пример #4
0
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
		}
	}
}