You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
972 B

package main
import (
"fmt"
"log"
"os"
"os/signal"
"syscall"
"github.com/dghubble/go-twitter/twitter"
)
func stream(client *twitter.Client) {
// Convenience Demux demultiplexed stream messages
demux := twitter.NewSwitchDemux()
demux.All = func(message interface{}) {
//fmt.Println(message)
}
demux.DM = func(dm *twitter.DirectMessage) {
if dm.SenderScreenName != twitterConfig.ScreenName {
matrixSendMsg(dm.SenderScreenName, dm.Text, dm.CreatedAt)
}
}
demux.Event = func(event *twitter.Event) {
//fmt.Printf("%#v\n", event)
}
fmt.Println("Starting Stream...")
streamUserParams := &twitter.StreamUserParams{}
stream, err := client.Streams.User(streamUserParams)
if err != nil {
log.Fatal(err)
}
// Receive messages until stopped or stream quits
demux.HandleChan(stream.Messages)
ch := make(chan os.Signal)
signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM)
log.Println(<-ch)
fmt.Println("Stopping Stream...")
stream.Stop()
}