argos/analyzeUsername.go
analyzeUsername.goRaw
1package main
2
3import (
4 "bufio"
5 "fmt"
6 "os"
7 "strings"
8
9 "github.com/dghubble/go-twitter/twitter"
10)
11
12type Tweet struct {
13 text string `json: "Text"`
14}
15
16var words = make(map[string]int)
17
18func mapWords(text string) {
19 s := strings.Split(text, " ")
20
21 for _, v := range s {
22 if _, ok := words[v]; ok {
23 words[v] = words[v] + 1
24 } else {
25 words[v] = 1
26 }
27 }
28}
29
30func analyzeUsername(client *twitter.Client) {
31 newcommand := bufio.NewReader(os.Stdin)
32 fmt.Print("enter username: @")
33 username, _ := newcommand.ReadString('\n')
34 username = strings.TrimSpace(username)
35 fmt.Println("user selected: " + username)
36
37 fmt.Println("-----------------------")
38
39 tweets, _, _ := client.Timelines.UserTimeline(&twitter.UserTimelineParams{
40 ScreenName: username,
41 Count: 200,
42 })
43
44 for _, v := range tweets {
45 mapWords(v.Text)
46 }
47
48 fmt.Println(len(words))
49 _ = sortMap(words)
50}