aboutsummaryrefslogtreecommitdiff
path: root/cogs/twitter.py
diff options
context:
space:
mode:
authorAnInternetTroll <lucafulger@gmail.com>2020-07-28 11:46:22 +0000
committerAnInternetTroll <lucafulger@gmail.com>2020-07-28 11:46:22 +0000
commit3aed288ab4c76bd7ced8262af955a506d45ee5af (patch)
treedcaaceff53cef5b7e85260c74fe6effddae68046 /cogs/twitter.py
parent945777abb0136b1d8f9be858365efe55287e6f6c (diff)
downloadsteve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.tar
steve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.tar.gz
steve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.tar.bz2
steve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.tar.lz
steve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.tar.xz
steve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.tar.zst
steve-bot-3aed288ab4c76bd7ced8262af955a506d45ee5af.zip
Added base for twitter support
Diffstat (limited to 'cogs/twitter.py')
-rw-r--r--cogs/twitter.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/cogs/twitter.py b/cogs/twitter.py
new file mode 100644
index 0000000..d321ca3
--- /dev/null
+++ b/cogs/twitter.py
@@ -0,0 +1,37 @@
+from discord.ext import commands, tasks
+import discord
+import tweepy
+
+class MyStreamListener(tweepy.StreamListener):
+ def on_error(self, status_code):
+ if status_code == 420:
+ #returning False in on_error disconnects the stream
+ return False
+
+ def on_status(self, status):
+ if hasattr(status, "retweeted_status"): # Check if Retweet
+ try:
+ print(status.retweeted_status.extended_tweet["full_text"])
+ except AttributeError:
+ print(status.retweeted_status.text)
+ else:
+ try:
+ print(status.extended_tweet["full_text"])
+ except AttributeError:
+ print(status.text)
+
+
+class Twitter(commands.Cog):
+ def __init__(self, bot):
+ self.bot = bot
+
+ auth = tweepy.OAuthHandler(self.bot.config['twitter']['consumer_key'], self.bot.config['twitter']['consumer_secret'])
+ auth.set_access_token(self.bot.config['twitter']['access_token'], self.bot.config['twitter']['access_token_secret'])
+
+ api = tweepy.API(auth)
+ myStreamListener = MyStreamListener()
+ self.myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
+ self.myStream.filter(follow=['1287799985040437254'], is_async=True)
+
+def setup(bot):
+ bot.add_cog(Twitter(bot)) \ No newline at end of file