TweetPoster is a reddit bot that posts the contents of the submitted tweet (and any parents)
as a comment on the submission itself, as well as rehosts any images.
It is a replacement for the now-defunct /u/tweet_poster.
All image hosts must subclass TweetPoster.rehost.ImageHost
, this allows them to
be automatically picked up when it comes time to rehost an image.
Each image host has two prerequisites:
url_re
attribute which will be used to match against a urlextract
method that recieves a urlextract
should return an imgur.com url (obtained using ImageHost.rehost
) or None
An example can be found below, and further examples can be found in rehost.py
class Instagram(ImageHost):
url_re = 'https?://instagram.com/p/\w+/'
def extract(self, url):
try:
r = requests.get(url)
except requests.exceptions.RequestException:
return None
soup = BeautifulSoup(r.content)
photo = soup.find("img", class_="photo")['src']
return self.rehost(photo)