How do I post to Gwibber from python?
I have tried
import gwibber.utils foo = gwibber.utils.GwibberPublic() foo.post("This is a test message")
But it doesn't work.
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
You should really be using the GIR based API, here is a more current example:
from gi.repository import Gwibber s = Gwibber.Service () s.send_message ("This is the content to post", None, None, None)
That will post to all accounts that are currently enabled to send. Here are what the parameters for send_message are:
""" send_message: Posts a message @message: The message to post to Gwibber as a string or None @id: The gwibber message id or None @action: The action or None (reply, private) @account_id: The ID of the account to post from or None """
So if you want to only post from a specific account, you can do something like this:
from gi.repository import Gwibber accounts_service = Gwibber.Accounts.new () s = Gwibber.Service () accts = accounts_service.list () # A list of Gwibber.Account objects for acct in accts: print "Gwibber ID: %s, Service: %s, Username: %s, Send: %s" % (acct.props.id, acct.props.service, acct.props.username, "True" if acct.props.send_enabled == "1" else "False") #add code to check if this is the account you want to post from, like if you want to post from all twitter accounts you would do this if acct.props.service == "twitter": s.send_message ("Whatever you want to post", None, None, acct.props.id)