argos/deleteTweetsAndFavs.go
deleteTweetsAndFavs.goRaw
1package main
2
3import (
4 "bufio"
5 "fmt"
6 "os"
7 "strconv"
8 "strings"
9
10 "github.com/dghubble/go-twitter/twitter"
11)
12
13func getAndPrintUserData(client *twitter.Client) *twitter.User {
14 // Verify Credentials
15 verifyParams := &twitter.AccountVerifyParams{
16 SkipStatus: twitter.Bool(true),
17 IncludeEmail: twitter.Bool(true),
18 }
19 user, _, _ := client.Accounts.VerifyCredentials(verifyParams)
20 fmt.Print("username: ")
21 c.Cyan(user.Name + " @" + user.ScreenName)
22 if user.Email != "" {
23 fmt.Print("Email ")
24 c.Red(user.Email)
25 }
26 if user.Location != "" {
27 fmt.Print("Location: ")
28 c.Red(user.Location)
29 }
30 c.Cyan("user created on: " + user.CreatedAt)
31
32 fmt.Print("number of tweets: ")
33 c.Purple(strconv.Itoa(user.StatusesCount))
34 return user
35}
36func deleteTweets(client *twitter.Client, user *twitter.User) {
37 tweets := getTweets(client, user.ScreenName, iterationsCount)
38 for _, v := range tweets {
39 c.Red("deleting: [id: " + v.IDStr + "] " + v.Text)
40 deleted, _, _ := client.Statuses.Destroy(v.ID, nil)
41 c.Green("deleting: [id: " + deleted.IDStr + "] " + deleted.Text)
42 }
43}
44func deleteFavs(client *twitter.Client) {
45
46}
47func deleteTweetsAndFavs(client *twitter.Client) {
48 fmt.Println("Getting user data...")
49 user := getAndPrintUserData(client)
50 fmt.Println("")
51 fmt.Println("Are you sure you want to delete you tweets? [y/n]")
52 newcommand := bufio.NewReader(os.Stdin)
53 answer, _ := newcommand.ReadString('\n')
54 answer = strings.TrimSpace(answer)
55 switch answer {
56 case "y":
57 fmt.Println("ok, you are sure")
58 deleteTweets(client, user)
59 deleteFavs(client)
60 user = getAndPrintUserData(client)
61 break
62 default:
63 fmt.Println("Operation cancelled")
64 break
65 }
66}