Q:

How to post image to twitter with Twython?

I had this small script working perfectly for the last month
from twython import Twython
import glob
import random

app_key = "XXX"
app_secret = "XXX"
oauth_token = "XXX"
oauth_token_secret = "XXX"
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret)

    def RandomImageTwitt(folder):
        #Takes the folder where your images are as the input
        images = glob.glob(folder + "*")
        image_open = open(images[random.randint(0,len(images))-1])
        twitter.update_status_with_media(media=image_open)

RandomImageTwitt("/home/XXX/.reddit-twitter-image/XXX/")

But now Twitter has deprecated this method. Twython tells me I should use Twython.upload_media, but I can't find any doc on its use. Even Twython official sites still lists an example with update_status_with_media.
Anyone knows how to do it or where to find some examples / info? 

A:

Ok i had the same problem and I messed about with it and got it working.
I have put it into your code below (not tested it though)
from twython import Twython
import glob
import random

app_key = "XXX"
app_secret = "XXX"
oauth_token = "XXX"
oauth_token_secret = "XXX"
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret)

    def RandomImageTwitt(folder):
        #Takes the folder where your images are as the input
        images = glob.glob(folder + "*")
        image_open = open(images[random.randint(0,len(images))-1])
        #new code starts here 
        image_ids = twitter.upload_media(media=image_open)
        twitter.update_status('hello this is a status',image_ids['media_id'])

RandomImageTwitt("/home/XXX/.reddit-twitter-image/XXX/")

