latest waveforms



iQuickTwitter – My Quicksilver + Twitter + iChat + Growl Hack

iQuickTwitterWhen I read that you could use Quicksilver with Twitter, I felt as excited as Jack Bauer in an interrogation room full of terror suspects. It all started with Twitter Fan Wiki. And then I lost myself in hours of troubleshooting as I tried to force hack after hack to work the way I wanted them to. As these things are, it wasn’t nearly as hard in the end as all the work that led up to the final result.

The first AppleScript I found for the job was here. But as best as I can tell, the Keychain Access was a major bottleneck. Then I found an option that uses the Twitter Rubygem, but you’ve got to be pretty serious to install Rubygems on your Mac. I couldn’t make it happen. I’m not that serious. Then I found another way to avoid Keychain scripting, but it was still too geeky for me to get working with my limited know-how. I even found iChat support and word count with Growl notification.

I was about to give up. But I said I would give myself the length of the entire Purple Rain album to make it happen. (I hadn’t listened to it in a long time and it was my favorite album as a dirty minded pubescent teen. He said “masturbating!”) About an hour of pop/funk later, this is what I had hacked together.

Features:

  • Counts characters and notifies you by Growl if you exceed 140.
  • Notifies you by Growl when your tweet is sent.
  • Twitter username/password is hard coded to avoid Keychain Access and reduce delays.
  • Checks to see if iChat is running and then sets your status message as the current tweet.
  • Checks to see if Skype is running and then sets your mood text message as the current tweet. Note: If you want to integrate Skype mood text updates, open the script in Script Editor and uncomment (remove “–”) the Skype tell.
  • Growl will use the icon of Twitterific if installed.
  • Need to manage multiple Twitter accounts? Just create a copy of the script in your Quicksilver Actions folder, change the username/password, and you can tweet from two accounts.

How to install:

  1. Download the script, unzip, and put it here:
    ~/Library/Application Support/Quicksilver/Actions
  2. Using Script Editor, modify these lines of the script to your Twitter username and password:

    set twitter_key_account to "your@email.com"
    set twitter_key_pass to "your_password"

  3. Restart Quicksilver.

How to use:

  1. Invoke Quicksilver.
  2. Enter text mode (hit period) and type your message.
  3. Tab to the Action Pane and type “Tweet” (or as much of the word as you need).
  4. Enter.

I hope you find this script useful. I’m no programmer, so I can’t support it. If you have addons or variations, please post them. Don’t forget to add me to your Twitter friends list. And thanks to all the coders that came before me and made this possible.

Update 4-21-07: Integrated Skype mood text updates as an option. See instructions for details.
Update 8-11-07: Integrated Facebook updates as an option. See this post: Update Twitter, Facebook, iChat, Adium, And Skype With Quicksilver
Update 5-24-09: I made a change to the curl script which should solve any previous problems.



Rating: 1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...


121 Comments

  1. Ankit.GNo Gravatar says:

    @grahamenglish … this should do it:

    tell application “Keychain Scripting”
    set twitter_key to first Internet key of current keychain whose server is “twitter.com”
    set twitter_login to quoted form of (account of twitter_key & “:” & password of twitter_key)
    end tell

  2. Thanks for sharing your code, Ankit. I originally used Keychain scripting but took it out because it caused delays and frankly, the Keychain can really suck sometimes. But when it works, hooray! :)

  3. Rob RecordNo Gravatar says:

    Using your script – thanks a lot!

    From the original site, the guy made a small change which allows @replies :

    use “–data-binary” instead of “-F” on the line where you sent the data to twitter over the web.

    Hope this helps.

    One strange thing I noticed: you say that /if/ ichat is running, it will update the status. for me, it always opens ichat even if not running, so i had to comment the lines out. other than that, excellent job!

    PS – Your comment form is a little broken in Safari 3.1.1 – click on the message field and it will jump to the website field – kinda disorientating.

  4. That is strange. It doesn’t open iChat for me, unless I’m editing the script. Whenever you’re editing a script, all apps referenced will open unless they’re commented out. But if used as a Quicksilver action, it shouldn’t open iChat. Hmmm.

    Thanks for the comment form heads up. Haven’t seen that happen myself.

  5. HenrikNo Gravatar says:

    Hey Graham… for some reason the script isn’t updating my status. I’ve triple checked my login info in the script and I get the growl notice just fine… but no update. Any clue what else could be going wrong?

  6. It isn’t updating your Twitter status? Or one of the other apps? Also, are you using your email as login or your username? I use my email. Another thing that could be wrong is if your password has special characters like & # @ etc.

  7. Stephen PNo Gravatar says:

    Thanks for the script, works great!

  8. Thanks for this script! Works flawlessly!

  9. Andre BNo Gravatar says:

    This script is really amazing. Really helps me out everyday. Thanks so much. You rock :) :)

  10. mcNo Gravatar says:

    thanks for this!

  11. FYI, change the line that sets ‘twitter_status’ to:

    set twitter_status to quoted form of (“source=qucs&status=” & tweet)

    and you’ll also see “from Quıcĸsıɩⅴεʀ” show up in your tweets.

  12. Peter, you hooked it up big time! Thanks!

  13. I should give credit where credit is due. I originally found this tidbit from Mike Keen here: http://blog.codahale.com/2007/01/15/tweet-twitter-quicksilver/

    Cheers!

  14. matiasjajajaNo Gravatar says:

    great job, thanks !

  15. I tried Rob Record’s workaround by switching out the “-F” for “–data-binary” but the @ problem persists. However, now it growls a success at me, even though the tweet wasn’t actually sent. Otherwise, nice work. I use it constantly.

  16. laurindelNo Gravatar says:

    can´t work for me :( i do it all, and grow shows me the message but not updates at twitter .

    How can i do??

    user and pass are ok .

    Thanks

  17. Ian WrightNo Gravatar says:

    So tasty, but either way i set up username or email, i see the growl notification but no actual Tweet. A shame, as it is obviously worked on and an elegent solution. I will keep an eye out… thanks for sharing.

    • Strange that it’s not working for some people. I wonder if it has anything to do with Quicksilver versions. If you shoot me an email with your script, maybe I could test it on my machine.

  18. This script is extremely exciting. Unfortunately I’m having the same issue as laurindel: Growl notifies me that the tweet has been sent, but my Twitter feed is not updated.

    I’m using OS X 10.5.6 and Quicksilver 3815.

    I will be thrilled if anyone is able to get to the bottom of this problem.

  19. Twitter has tightened up what http headers it will accept, so you need to modify the headers that curl sends. Bottom line, replace the twitter curl line in the script with the following:

    set results to do shell script "curl --user " & twitter_login & " -H \"Expect:\" -F " & twitter_status & " http://twitter.com/statuses/update.json"

  20. KristenNo Gravatar says:

    I’m really, really excited about this script, but I’m having the same problems other people have been having. Growl pops up correctly, and my iChat status is updated, but nothing budges on Twitter itself. I tried editing the curl line in the script like the last comment suggests, but I’m still having the same problem. Any chance this can be fixed? The idea is tremendously awesome.

    Quicksilver version 3815
    Mac OS X 10.4.11

  21. Fantastic work, Graham! Everything’s working beautifully now. Thanks so much for the update.

  22. pengNo Gravatar says:

    hi, i cant get the facebook part to work, in the script, i dont even see anything that ask for the facebook credentials, how is this working?

  23. Thanks. I’ve been messing w/ this all day. Your instructions were the best I’ve run across.
    hpm

  24. wverwerNo Gravatar says:

    Yes, works great! If you use other application then Twitterific. For example TweetDeck. In Script Editor you can change Twitterific.app into Tweetdeck.app.

    Thank you Graham!

  25. AnkurNo Gravatar says:

    doesn’t use OAuth huh? i guess this is broken now :-/

    • Probably. I stopped using the script myself awhile back when I bought a new iMac and decided not to install Quicksilver. So I doubt I’ll be updating it. I’m sure someone else out there will have a working Twitter/Quicksilver script soon, if they don’t already.

      • A Mac without Quicksilver? That’s a strange notion indeed!

        • That’s what I thought at first. Quicksilver was always my first install on a new Mac. But I kept having lots of problems with it and just using it as an application launcher didn’t seem worth the CPU or RAM, especially when Spotlight does the trick just as fast. So there’s a few functions I miss but overall, I don’t miss it. Sorry to say.

  26. MattNo Gravatar says:

    Noob question: When you say “Download the script, unzip, and put it here: ~/Library/Application Support/Quicksilver/Actions”

    How do I “put it?”

    I’ve downloaded it, unzipped it, and I’m trying to figure out how to accomplish the next step…

  27. hansNo Gravatar says:

    Hi Matt,
    “put” = copy and paste, or drag and drop it into the correct folder

  28. Alex DolanNo Gravatar says:

    I know this is old, but I can’t find any folder related to Quicksilver named actions. Any ideas?

Leave a Comment


Living Room Rules: Please respect this space as you would respect the home of a friend who invites you over for coffee.



recent comments

Looks about right!
From: NAMM Notes 2013


Absolutely! If you send me a pic when it’s done. I think it would be kick ass.
From: Bob Dylan Word Clouds


Hello, I love your clouds ! It’s possible to make my next Tattoo with your Pictures ? Thanks !
From: Bob Dylan Word Clouds


I’ll definitely add Tempest when I can get around to it and give you an update when I do.
From: Bob Dylan Word Clouds


Any chance of one for Tempest?
From: Bob Dylan Word Clouds


Actually, these notes were taken by soprano saxophonist Steve Lacy from a conversation he had with...
From: Handwritten Notes By Thelonious Monk


Hi Anna, I’ve just read your question…albeit 4 years later. I recorded (most) ” The Foolish Wise...
From: The Foolish Wise Ones


Dear Graham I stumbled upon your wordclouds, and like them a lot. I have a question: have you ever done a single...
From: Bob Dylan Word Clouds


Right ;-)
From: Piano Voicings Part 5: Kenny Barron Voicings


Sorry. The post is 6 years old.
From: Discover the Power of Mental Rehearsal Part 2: Image Streaming



Subscribe

Get my music, audio/video, and articles delivered to you by RSS, iTunes, or email:

Your privacy is guaranteed.


More subscribe options...

about graham

I'm a songwriter and performing artist who sings, plays keyboards and guitar, and explores the vast world of sound hoping to find some magical moments along the way. I'm also a Mac geek.



facebook