Refactored Code to use OOP
Added request_handler Twitter "commands" are in separate filemain
parent
86c089e0c5
commit
c58a46ee71
@ -1,44 +1,26 @@
|
||||
#!/usr/bin/env python
|
||||
import random
|
||||
from twython import Twython
|
||||
|
||||
from twitter.bot.aws_secrets import get_secret
|
||||
from twitter.bot.commands import send_tweet
|
||||
|
||||
# Create the Twython Twitter client using the credentials stored in SSM
|
||||
twitter = Twython(
|
||||
|
||||
class Winston:
|
||||
bot = Twython(
|
||||
get_secret("CONSUMER_KEY"),
|
||||
get_secret("CONSUMER_SECRET"),
|
||||
get_secret("ACCESS_TOKEN_KEY"),
|
||||
get_secret("ACCESS_TOKEN_SECRET")
|
||||
)
|
||||
)
|
||||
|
||||
# Sample random tweets
|
||||
potential_tweets = [
|
||||
@staticmethod
|
||||
def potential_tweets():
|
||||
return [
|
||||
"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)
|
||||
@staticmethod
|
||||
def request_handler():
|
||||
send_tweet(random.choice(Winston.potential_tweets()))
|
@ -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)
|
@ -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()
|
Loading…
Reference in New Issue