initial test
This commit is contained in:
parent
cab45af1f5
commit
0258e0910f
@ -1,15 +1,25 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/signal"
|
||||||
|
"syscall"
|
||||||
|
|
||||||
"github.com/dustinpianalto/overpass/internal/twitter"
|
"github.com/dustinpianalto/overpass/internal/twitter"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
tClient := twitter.Connect()
|
tClient := twitter.Connect()
|
||||||
_, err := twitter.GetTimeline(tClient, 20)
|
tweetChan, stream := twitter.StartUserScanner(tClient, "3347145623")
|
||||||
if err != nil {
|
for tweet := range tweetChan {
|
||||||
log.Fatal(err)
|
log.Printf("%s\n%s - %s\n%s", tweet.IDStr, tweet.User.Name, tweet.User.IDStr, tweet.FullText)
|
||||||
}
|
}
|
||||||
|
ch := make(chan os.Signal)
|
||||||
|
signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM, syscall.SIGKILL)
|
||||||
|
log.Println(<-ch)
|
||||||
|
|
||||||
|
fmt.Println("Stopping Stream...")
|
||||||
|
stream.Stop()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
package twitter
|
package twitter
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"log"
|
||||||
|
|
||||||
"github.com/dghubble/go-twitter/twitter"
|
"github.com/dghubble/go-twitter/twitter"
|
||||||
oauth "github.com/dustinpianalto/overpass/internal/oauth2"
|
oauth "github.com/dustinpianalto/overpass/internal/oauth2"
|
||||||
@ -12,14 +12,33 @@ func Connect() *twitter.Client {
|
|||||||
return twitter.NewClient(httpClient)
|
return twitter.NewClient(httpClient)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetTimeline(client *twitter.Client, count int) ([]twitter.Tweet, error) {
|
func StartUserScanner(client *twitter.Client, userID string) (chan *twitter.Tweet, *twitter.Stream) {
|
||||||
tweets, resp, err := client.Timelines.HomeTimeline(&twitter.HomeTimelineParams{
|
demux := twitter.NewSwitchDemux()
|
||||||
Count: count,
|
tweetChan := make(chan *twitter.Tweet, 10)
|
||||||
})
|
demux.Tweet = func(tweet *twitter.Tweet) {
|
||||||
if err != nil {
|
tweetChan <- tweet
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
fmt.Println(resp)
|
demux.StatusDeletion = func(deletion *twitter.StatusDeletion) {
|
||||||
fmt.Printf("%#v", tweets)
|
log.Printf("%#v\n", deletion)
|
||||||
return tweets, nil
|
}
|
||||||
|
demux.StreamLimit = func(limit *twitter.StreamLimit) {
|
||||||
|
log.Printf("%#v\n", limit)
|
||||||
|
}
|
||||||
|
demux.StreamDisconnect = func(disconnect *twitter.StreamDisconnect) {
|
||||||
|
log.Printf("%#v\n", disconnect)
|
||||||
|
}
|
||||||
|
demux.Event = func(event *twitter.Event) {
|
||||||
|
log.Printf("%#v\n", event)
|
||||||
|
}
|
||||||
|
log.Printf("Starting Stream for %s\n", userID)
|
||||||
|
filterParams := &twitter.StreamFilterParams{
|
||||||
|
Follow: []string{userID},
|
||||||
|
StallWarnings: twitter.Bool(true),
|
||||||
|
}
|
||||||
|
stream, err := client.Streams.Filter(filterParams)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
}
|
||||||
|
go demux.HandleChan(stream.Messages)
|
||||||
|
return tweetChan, stream
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user