本文整理汇总了Golang中github.com/otiai10/twistream.Timeline类的典型用法代码示例。如果您正苦于以下问题:Golang Timeline类的具体用法?Golang Timeline怎么用?Golang Timeline使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Timeline类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Handle
func (h AddHandler) Handle(tw twistream.Status, tl *twistream.Timeline) error {
botname := config.V.Twitter.Bot.ScreenName
user, err := models.FindUserByIdStr(DB(), tw.User.IdStr)
if err != nil {
return err
}
d := words.Parse(tw.Text).Remove("@"+botname).Remove("/add", "/a")
user.TODOs = append(user.TODOs, d.Words...)
user.Update(DB())
txt := words.New(d.Words...).
Prepend("@" + tw.User.ScreenName).
Append("追加しました").
Join(" ")
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
}
示例2: Handle
func (h RememberMeHandler) Handle(tw twistream.Status, tl *twistream.Timeline) error {
user, err := models.FindUserByIdStr(DB(), tw.User.IdStr)
log.Println(user, err)
if err == nil {
txt := words.New("いや、もう知ってますよ...").Prepend("@" + tw.User.ScreenName).Join()
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
}
err = models.SaveNewUser(DB(), models.NewUserFromTwistreamStatus(tw))
if err != nil {
return err
}
txt := words.New("よろしくおねがいしまーす! 今日も1日がんばるぞい!").Prepend("@" + tw.User.ScreenName).Join()
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
}
示例3: HandleError
func (h OnErrorHandler) HandleError(err error, tw twistream.Status, tl *twistream.Timeline) error {
// botname := config.V.Twitter.Bot.ScreenName
txt := words.Parse("エラー、よく聞き取れませんでした: ").
Prepend("@otiai10").
Append(err.Error()).
Join(" ")
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
return err
}
示例4: Listen
func Listen(timeline *twistream.Timeline) {
ch := timeline.Listen()
for {
select {
case tw := <-ch:
err := matchesAndHandles(tw, timeline)
if err != nil {
h := handlers.OnErrorHandler{}
h.HandleError(err, tw, timeline)
}
}
}
}
示例5: Handle
func (h EchoHandler) Handle(tw twistream.Status, tl *twistream.Timeline) error {
botname := config.V.Twitter.Bot.ScreenName
txt := words.Parse(tw.Text).
Remove("@" + botname).
Remove("/echo").
Prepend("@" + tw.User.ScreenName).
Append("って何?").
Join(" ")
err := tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
log.Println(txt, err)
return err
}
示例6: Handle
func (h ListHandler) Handle(tw twistream.Status, tl *twistream.Timeline) error {
user, err := models.FindUserByIdStr(DB(), tw.User.IdStr)
if err != nil {
return err
}
botname := config.V.Twitter.Bot.ScreenName
txt := words.New(user.TODOs...).
Remove("@"+botname).Remove("/add", "/a").
Prepend("@" + tw.User.ScreenName).
Append("いちらんです").
Join(" ")
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
}
示例7: Handle
func (h HelloHandler) Handle(tw twistream.Status, tl *twistream.Timeline) error {
user, err := models.FindUserByIdStr(DB(), tw.User.IdStr)
log.Println(user, err)
if err == nil {
txt := words.New("hello! hello!").Prepend("@" + tw.User.ScreenName).Join()
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
}
txt := words.New("誰すか?").Prepend("@" + tw.User.ScreenName).Join()
return tl.Tweet(twistream.Status{
Text: txt,
InReplyToScreenName: tw.User.ScreenName,
InReplyToStatusId: tw.Id,
})
}