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.
Adding an image host
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_reattribute which will be used to match against a url
extractmethod that recieves a url
extract should return an imgur.com url (obtained using
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)