argos/optionDeleteTweets.go
optionDeleteTweets.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 deleteTweets(client *twitter.Client, user *twitter.User) {
14 tweets := getTweets(client, user.ScreenName, iterationsCount)
15 count := 0
16 for _, v := range tweets {
17 c.Red("deleting: [id: " + v.IDStr + "] " + v.Text)
18 deleted, _, _ := client.Statuses.Destroy(v.ID, nil)
19 c.Green("DELETED: [id: " + deleted.IDStr + "] " + deleted.Text)
20 count++
21 }
22 c.Red("Deleted " + strconv.Itoa(count) + " tweets")
23}
24func optionDeleteTweets(client *twitter.Client) {
25 fmt.Println("Getting user data...")
26 user := getUserData(client)
27 printUserData(user)
28 fmt.Println("")
29 c.Red("Are you sure you want to delete your tweets? [y/n]")
30 newcommand := bufio.NewReader(os.Stdin)
31 answer, _ := newcommand.ReadString('\n')
32 answer = strings.TrimSpace(answer)
33 switch answer {
34 case "y":
35 fmt.Println("ok, you are sure")
36 deleteTweets(client, user)
37 user = getUserData(client)
38 printUserData(user)
39 break
40 default:
41 fmt.Println("Operation cancelled")
42 break
43 }
44}