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_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)