6

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

from https://wiki.ubuntu.com/Quickly/Snippets.

But it doesn't work.

0

1 Answer 1

6

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)
4
  • Fair point Ken. I have deleted mine to prevent misleading others.
    – jokerdino
    Jun 19, 2012 at 14:46
  • 1
    from gi.repository import Gwibber ImportError: cannot import name Gwibber Jun 19, 2012 at 15:59
  • glen@glen-desktop:~/calorie-burner$ locate girepository | grep Gwibber glen@glen-desktop:~/calorie-burner$ Jun 19, 2012 at 17:01
  • You need to install gir1.2-gwibber-0.2 Jun 20, 2012 at 13:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .