Register Members List Search Today's Posts Mark Forums Read

Reply
 
Mod Options
vBulletin to Twitter, live tweets of new threads Details »
vBulletin to Twitter, live tweets of new threads
Mod Version: 1.00, by buro9 (Member) buro9 is offline
Developer Last Online: Jul 2012 I like it Show Printable Version Email this Page

This thread is in the Modification Graveyard.
vB Version: 4.0.x Rating: (33 votes - 4.67 average) Installs: 272
Released: 27 Jan 2010 Last Update: Never Downloads: 1482
Not Supported Uses Plugins Additional Files Re-usable Code Translations External Content  

This should work on all 4 and 3 versions of vBulletin as it's trivial.

Description:

You start a new thread, this hack makes a tweet about it on your twitter account.

This are live updates... not delayed, not based on RSS... the instant the thread is started, a tweet is made. This is how this hack differs from other hacks.

Why:

Mostly for SEO, but also as an alert system.

For SEO the idea is simply that search engines are drinking from the Twitter firehose and are indexing the links that are tweeted. Faster and increased indexing of your site benefits you by helping it be found.

For alerts it means that users are able to use whatever twitter client they wish to obtain updates. A lot of these provide filtering capabilities, so they're able to get a live filtered stream of updates that interest them. This works very well when you also use thread prefixes.

Pre-requisites:

You should have an account on bit.ly for URL shortening, and you should have an account on Twitter.

Go and register if you haven't yet:
http://bit.ly/
http://twitter.com/

Installation:

NOTE: Most problems are related to not putting your bit.ly or twitter user details in the plugin. Follow the instructions carefully!

Upload the two attached files to your forum root. These are twitter and bitly classes that enable the hack to work, you can also download these from the author:
http://classes.verkoyen.eu/bitly
http://classes.verkoyen.eu/twitter/

Go to the plugin manager and create a new plugin with the following details:
Product: vBulletin
Hook: newthread_post_complete
Title: Tweet to Twitter

PHP Code: [See below]

To configure the PHP code you need to know your bit.ly API key (go get it from bit.ly/account) and your username and password for twitter.

You also should make a list of the forumIds that are non-public as you will want to put these in the array provided.

i.e. if your admin forum is forumId = 7 and you also have a private forum for regular members which is forumid = 12, then you will want this:
$excludedForums = array(7, 12);

The PHP code should be this, with all of the relevant values for your forum inserted (replace everything bolded, including the < and > bits):

Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

So the bit.ly line might look like this after you've put your values in:
$bitly = new Bitly('testUser', 'R_hj3456hgf3hig56hi2gf6');
NOT
$bitly = new Bitly('<testUser>', '<R_hj3456hgf3hig56hi2gf6>');
See? Remove those <> bits, they just show what to replace.

The shortUrl line might look like this:
$shortUrl = 'http://www.vbulletin.com/forum/showthread.php?t='.$newpost[threadid];

The Twitter line might look like this:
$twitter = new Twitter('stephenfry','op1umisn1ce');

All make sense?

And that's it. Save and activate the plugin and create a test thread.

Now whenever a new thread is started, a tweet will be made to twitter instantly.

You can see this in effect here:
http://twitter.com/lfgss

That is being pushed new threads for http://www.lfgss.com/ and it's working perfectly.

Any questions?

FAQ (Frequently Asked Questions)

Q: It doesn't work!

A: That's not a question, however if it doesn't work then it's extremely likely you got your username and passwords wrong or left the < > signs in there. Double-check and do it again.

Q: I see an "INVALID_JSON" error

A: Disable bitly by setting $useBitly to false.
Q: I see an "You must be authenticated to access shorten" error

A: The credentials that you entered are either wrong, or you made a mess of the syntax. You did remove the < > when you put your values in right? Did you check the example given above?

Q: I see an error that says "Warning: curl_setopt_array() [function.curl-setopt-array]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in [path]/bitly.php"

A: Wow, that's a good one... but easily fixable. Insert this at line 136 (just after the CURL options) in bitly.php:

Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

Download Now

Only licensed members can download files, Click Here for more information.

Show Your Support

  • If you like this modification support the author by donating.
  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Similar Mod
Mod Developer Type Replies Last Post
Add-On Releases vBulletin 2 Twitter - Take Your News Straight To Twitter! AHealthForum vBulletin 3.8 Add-ons 115 22 Feb 2013 23:02

  #16  
Old 27 Jan 2010, 21:18
buro9 buro9 is offline
 
Join Date: Feb 2002
Originally Posted by utahraves View Post
EDIT: Ahhhh, It wasn't really clear to me the ARRAY deal. I believe I fixed it now. I'll test
I've just made it clearer by splitting it out, and I've set it to exclude nothing by default.
Reply With Quote
  #17  
Old 27 Jan 2010, 21:20
LbR's Avatar
LbR LbR is offline
 
Join Date: Nov 2009
Originally Posted by buro9 View Post
The pertinent line: You must be authenticated to access shorten

Have you put in your bit.ly and twitter details?

I have added Twitter Details and Bit.Ly details too i am not confirmed about this line

$shortUrl = $bitly->shorten('http://www.yourforumsdomain.com/showthread.php?t='.$newpost[threadid]);
Reply With Quote
  #18  
Old 27 Jan 2010, 21:22
utahraves's Avatar
utahraves utahraves is offline
 
Join Date: May 2007
Real name: Cody Cook
Works now. The array is for forums that are NOT supposed to post twitter updates... got it
Reply With Quote
  #19  
Old 27 Jan 2010, 21:23
Moondust Moondust is offline
 
Join Date: Jan 2010
Originally Posted by buro9 View Post
@Moondust

Your error appears to be this: "You must be authenticated to access shorten "

Did you insert your bit.ly username and API key?
You probably want to insert your twitter details too.

The instructions do say to put your values in there.
Yes, i have edit the Bit.ly username and Api Key and my Twitter Account Detail in the Plugin PHP Text.

In Bit.ly i have put my twitter account details
Reply With Quote
  #20  
Old 27 Jan 2010, 21:25
buro9 buro9 is offline
 
Join Date: Feb 2002
Originally Posted by LbR View Post
I have added Twitter Details and Bit.Ly details too i am not confirmed about this line

$shortUrl = $bitly->shorten('http://www.yourforumsdomain.com/showthread.php?t='.$newpost[threadid]);
Did you put your domain in there?
Reply With Quote
  #21  
Old 27 Jan 2010, 21:28
Nordinho Nordinho is offline
 
Join Date: Aug 2004
Originally Posted by buro9 View Post
@Nordinho

It appears to be a PHP cURL thing.

Could you try inserting this at line 136 (just after the CURL options) in bitly.php

Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

IF twitter.php also needs it, then it's line 161 of that (after the options) where it will need to be inserted.

Try just putting it in bitly.php to start with and let me know how it goes.
Hey buro,

Tried adding it in both files, unfortunately it doesn't make a difference though. Getting the same error.
Reply With Quote
  #22  
Old 27 Jan 2010, 21:33
buro9 buro9 is offline
 
Join Date: Feb 2002
Originally Posted by Nordinho View Post
Hey buro,

Tried adding it in both files, unfortunately it doesn't make a difference though. Getting the same error.
My fault... it should've been this for bitly.php:


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

Reply With Quote
  #23  
Old 27 Jan 2010, 21:36
wacnstac wacnstac is offline
 
Join Date: Nov 2001
Why not just grab the RSS out from the forum in twitter and feed it to your twitter account with twitterfeed? Am I missing something?
Reply With Quote
  #24  
Old 27 Jan 2010, 21:39
buro9 buro9 is offline
 
Join Date: Feb 2002
Originally Posted by wacnstac View Post
Why not just grab the RSS out from the forum in twitter and feed it to your twitter account with twitterfeed? Am I missing something?
The live aspect of it.
Reply With Quote
  #25  
Old 27 Jan 2010, 21:42
wacnstac wacnstac is offline
 
Join Date: Nov 2001
Ah, I get it now
Reply With Quote
  #26  
Old 27 Jan 2010, 21:42
esperone esperone is offline
 
Join Date: Feb 2006
I get same error as LbR and i have edited the php code to include my bit.ly username and API key as well as my twitter details.
Reply With Quote
  #27  
Old 27 Jan 2010, 21:45
buro9 buro9 is offline
 
Join Date: Feb 2002
Originally Posted by esperone View Post
I get same error as LbR and i have edited the php code to include my bit.ly username and API key as well as my twitter details.
LbR PM'd me... he'd put the username between the < >.

I've just updated the hack instructions to show examples... the details you enter are just PHP strings and should be single-quoted.
Reply With Quote
  #28  
Old 27 Jan 2010, 21:48
esperone esperone is offline
 
Join Date: Feb 2006
oh i see. Thanks.
Reply With Quote
  #29  
Old 27 Jan 2010, 21:49
Nordinho Nordinho is offline
 
Join Date: Aug 2004
Originally Posted by buro9 View Post
My fault... it should've been this for bitly.php:


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.
Allrighty, the curl error is gone. Now on to the next one

This one remains:
Fatal error: Uncaught exception 'BitlyException' with message 'Invalid JSON-response' in /home/domain.net/public_html/forumdir/bitly.php:204 Stack trace: #0 /home/domain.net/public_html/forumdir/bitly.php(390): Bitly->doCall('shorten', Array) #1 /home/domain.net/public_html/forumdir/newthread.php(273) : eval()'d code(20): Bitly->shorten('http://www.nord...') #2/home/domain.net/public_html/forumdir/newthread.php(273): eval() #3 /home/domain.net/public_html/forumdir/vbseo.php(1440): require('/home/dom...') #4 {main} thrown in /home/domain.net/public_html/forumdir/bitly.php on line 204

Last edited by Nordinho; 27 Jan 2010 at 23:08.
Reply With Quote
  #30  
Old 27 Jan 2010, 21:52
LbR's Avatar
LbR LbR is offline
 
Join Date: Nov 2009
The OP me helped me working it out thanks man works with charm now
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Mod Options

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


New To Site? Need Help?

All times are GMT. The time now is 22:17.

Layout Options | Width: Wide Color: