forked from rapidloop/mybot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmovedb.go
39 lines (28 loc) · 981 Bytes
/
movedb.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main
import (
"reflect"
"github.com/Aiicy/AiicyBot/pkg/setting"
apiai "github.com/mlabouardy/dialogflow-go-client/models"
"github.com/mlabouardy/moviedb"
tb "gopkg.in/tucnak/telebot.v2"
)
func ProcessMessage(bot *tb.Bot, m *tb.Message) {
var userQuery = m.Text
var dialogFlowResponse = GetResponse(userQuery, setting.TgConf.DialogFlow.Token, setting.TgConf.DialogFlow.Lang)
if !reflect.DeepEqual(dialogFlowResponse.Metadata, apiai.Metadata{}) && dialogFlowResponse.Metadata.IntentName == "shows" {
var showType = dialogFlowResponse.Parameters["show-type"]
db := moviedb.NewMovieDB()
var shows []moviedb.Show
if showType == "movie" {
shows = db.GetNowPlayingMovies()
} else {
shows = db.GetAiringTodayShows()
}
p := &tb.Photo{File: tb.FromURL(shows[0].Cover), Caption: shows[0].Title}
bot.Notify(m.Chat, tb.UploadingPhoto)
bot.Send(m.Chat, p)
} else {
text := dialogFlowResponse.Fulfillment.Speech
bot.Send(m.Chat, text)
}
}