diff --git a/twitter/bot/bot.py b/twitter/bot/bot.py index e8b3318..83f615a 100644 --- a/twitter/bot/bot.py +++ b/twitter/bot/bot.py @@ -1,44 +1,26 @@ -#!/usr/bin/env python import random from twython import Twython from twitter.bot.aws_secrets import get_secret - -# Create the Twython Twitter client using the credentials stored in SSM -twitter = Twython( - get_secret("CONSUMER_KEY"), - get_secret("CONSUMER_SECRET"), - get_secret("ACCESS_TOKEN_KEY"), - get_secret("ACCESS_TOKEN_SECRET") -) - -# Sample random tweets -potential_tweets = [ - "Hello! I'm Winston From Overwatch!", - "Winston! From! Overwatch!", - "Winston? From Overwatch?" -] - - -def send_tweet(tweet_text): - """Sends a tweet to Twitter""" - - twitter.update_status(status=tweet_text) - - -def handler(event, context): - """Sends random tweet from list of potential tweets""" - - send_tweet(random.choice(potential_tweets)) - - -def follow_someone(screen_name): - twitter.create_friendship(screen_name=screen_name) - - -def follow_fernando(): - follow_someone("fmc_sea") - - -def like_tweet(tweet_id): - twitter.create_favorite(id=tweet_id) +from twitter.bot.commands import send_tweet + + +class Winston: + bot = Twython( + get_secret("CONSUMER_KEY"), + get_secret("CONSUMER_SECRET"), + get_secret("ACCESS_TOKEN_KEY"), + get_secret("ACCESS_TOKEN_SECRET") + ) + + @staticmethod + def potential_tweets(): + return [ + "Hello! I'm Winston From Overwatch!", + "Winston! From! Overwatch!", + "Winston? From Overwatch?" + ] + + @staticmethod + def request_handler(): + send_tweet(random.choice(Winston.potential_tweets())) \ No newline at end of file diff --git a/twitter/bot/commands.py b/twitter/bot/commands.py new file mode 100644 index 0000000..33d7113 --- /dev/null +++ b/twitter/bot/commands.py @@ -0,0 +1,19 @@ +from twitter.bot.bot import Winston + + +def send_tweet(tweet_text): + """Sends a tweet to Twitter""" + + Winston.bot.update_status(status=tweet_text) + + +def follow_someone(username): + """Follows someone based on given username""" + + Winston.bot.create_friendship(username=username) + + +def like_tweet(tweet_id): + """Likes a tweet based on it's ID""" + + Winston.bot.create_favorite(id=tweet_id) diff --git a/twitter/bot/handler.py b/twitter/bot/handler.py new file mode 100644 index 0000000..a22e099 --- /dev/null +++ b/twitter/bot/handler.py @@ -0,0 +1,6 @@ +from twitter.bot.bot import Winston + + +def handler(event, context): + """Sends random tweet from list of potential tweets""" + Winston.request_handler()