From b03f0b6415a48dbb48732190df804e1c13ec0fc0 Mon Sep 17 00:00:00 2001 From: William Cook Date: Tue, 13 Oct 2020 22:19:54 -0700 Subject: [PATCH 1/2] Add /snek and /hiss to available commands --- main.go | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index b1e41f9..58c01ed 100644 --- a/main.go +++ b/main.go @@ -26,6 +26,8 @@ var ( commandQuackMatch = regexp.MustCompile(`(?mi)^*/(?:quack)(?: +(.+?))?\s*$`) commandMooMatch = regexp.MustCompile(`(?mi)^*/(?:moo)(?: +(.+?))?\s*$`) commandBaaMatch = regexp.MustCompile(`(?mi)^*/(?:baa)(?: +(.+?))?\s*$`) + commandHissMatch = regexp.MustCompile(`(?mi)^*/(?:hiss)(?: +(.+?))?\s*$`) + commandSnekMatch = regexp.MustCompile(`(?mi)^*/(?:snek)(?: +(.+?))?\s*$`) ) func main() { @@ -45,7 +47,7 @@ func main() { api := anaconda.NewTwitterApiWithCredentials(Config.TwitterAccessToken, Config.TwitterAccessSecret, Config.TwitterConsumerKey, Config.TwitterConsumerSecretKey) streamValues := url.Values{} - streamValues.Set("track", "/honk,/meow,/pony,/woof,/oink,/quack,/moo,/baa") + streamValues.Set("track", "/honk,/meow,/pony,/woof,/oink,/quack,/moo,/baa,/snek,/hiss") streamValues.Set("stall_warnings", "true") log.Println("Starting Honk Stream...") s := api.PublicStreamFilter(streamValues) @@ -96,6 +98,7 @@ func processHonk(twitterAPI *anaconda.TwitterApi, tweet anaconda.Tweet) { if commandHonkMatch.MatchString(tweet.Text) || commandMeowMatch.MatchString(tweet.Text) || commandPonyMatch.MatchString(tweet.Text) || commandWoofMatch.MatchString(tweet.Text) || commandOinkMatch.MatchString(tweet.Text) || commandQuackMatch.MatchString(tweet.Text) || + commandHissMatch.MatchString(tweet.Text) || commandSnekMatch.MatchString(tweet.Text) || commandMooMatch.MatchString(tweet.Text) || commandBaaMatch.MatchString(tweet.Text) { go func() { n := randomInt(30, 120) @@ -293,6 +296,49 @@ func processHonk(twitterAPI *anaconda.TwitterApi, tweet anaconda.Tweet) { msg := fmt.Sprintf("@%s baa! baa!! #honkbot", mention) sendTweet(twitterAPI, tweet.IdStr, msg, image) } + + if commandHissMatch.MatchString(tweet.Text) { + log.Println("Tweet matched hiss") + + if strings.Contains(tweet.Text, "RT ") { + log.Println("This is a RT dont reply to not flood") + return + } + + mention := tweet.InReplyToScreenName + if mention == "" { + mention = tweet.User.ScreenName + } + + image := getImage("snake") + if image == nil { + image = getDefaultGoose() + } + msg := fmt.Sprintf("@%s hiss! hiiiiissssss!! #honkbot", mention) + sendTweet(twitterAPI, tweet.IdStr, msg, image) + } + + if commandSnekMatch.MatchString(tweet.Text) { + log.Println("Tweet matched sneck") + + if strings.Contains(tweet.Text, "RT ") { + log.Println("This is a RT dont reply to not flood") + return + } + + mention := tweet.InReplyToScreenName + if mention == "" { + mention = tweet.User.ScreenName + } + + image := getImage("snake") + if image == nil { + image = getDefaultGoose() + } + msg := fmt.Sprintf("@%s beware the snek! #honkbot", mention) + sendTweet(twitterAPI, tweet.IdStr, msg, image) + } + } func sendTweet(twitterAPI *anaconda.TwitterApi, originalTweetID, message string, image []byte) { From 2b8ed6d50b28fc94721758f68b1481d83957e21d Mon Sep 17 00:00:00 2001 From: William Cook Date: Tue, 13 Oct 2020 22:25:23 -0700 Subject: [PATCH 2/2] Sneck -> snek in log --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index 58c01ed..82af6dc 100644 --- a/main.go +++ b/main.go @@ -319,7 +319,7 @@ func processHonk(twitterAPI *anaconda.TwitterApi, tweet anaconda.Tweet) { } if commandSnekMatch.MatchString(tweet.Text) { - log.Println("Tweet matched sneck") + log.Println("Tweet matched snek") if strings.Contains(tweet.Text, "RT ") { log.Println("This is a RT dont reply to not flood")