Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vBulletin to Twitter, live tweets of new threads Details »»
vBulletin to Twitter, live tweets of new threads
Version: 1.00, by buro9 buro9 is offline
Developer Last Online: Jul 2012 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 4.0.x Rating:
Released: 01-26-2010 Last Update: Never Installs: 272
Uses Plugins
Re-useable Code Additional Files Translations  
No support by the author.

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):
PHP Code:
// The array below are the ids of non-public forums, update these to be your admin forum ids or anything non-public by default
$excludedForums = array(0);

// If you are having trouble getting bitly URL shortening to work... disable it!
$useBitly true;

if (!
in_array($foruminfo[forumid], $excludedForums)) {
    
$shortUrl 'http://www.yourforumsdomain.com/showthread.php?t='.$newpost[threadid];

    if (
$useBitly) {
      
// http://classes.verkoyen.eu/bitly
      
require_once 'bitly.php';
      
$bitly = new Bitly('<bit.ly username>''<bit.ly API key>');
      
$shortUrl $bitly->shorten($shortUrl);
    }

    
$tweet '';
    if (isset(
$newpost['prefixid']) && $newpost['prefixid'] != '') {
        
$tweet $vbphrase['prefix_'.$newpost['prefixid'].'_title_plain'].' ';
    }
    
$tweet .= $newpost['title'].' '.$shortUrl;

    
// http://classes.verkoyen.eu/twitter/
    
require_once 'twitter.php';
    
$twitter = new Twitter('<twitter username>','<twitter password>');
    
$twitter->updateStatus($tweet);

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:
PHP Code:
$no_hack_needed = (ini_get('safe_mode') !== '1' && ini_get('open_basedir') === false);
if (
$no_hack_needed) {
  
$options[CURLOPT_FOLLOWLOCATION] = true;
} else {
  
$options[CURLOPT_FOLLOWLOCATION] = false;
  
$options[CURLOPT_HEADER] = true;

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #572  
Old 05-12-2011, 10:35 AM
cormee's Avatar
cormee cormee is offline
 
Join Date: May 2007
Posts: 22
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by fountainmass View Post
I just got this working again. It was pretty simple.

First, like with the other mods, you will need to register a new Twitter Application (while logged with your normal Twitter account) - http://dev.twitter.com/apps/new

Note down the "Consumer Key" and "Consumer Secret" (Under App Details) as well as the "Access Token" and "Access Token Secret" (under My Access Token on the App details screen).

Step 1: Download Tijs Verkoyen's new twitter.php file (which supports OAuth) - http://classes.verkoyen.eu/modules/t...tter_2_0_1.zip

Step 2: Edit the file.
  1. add your Access Token to "private $oAuthToken = " (line 88)
  2. add your Access Token Secret to "private $oAuthTokenSecret =" (line 96).

Step 3: Upload it to the root directory of your forum (ie. replace your old twitter.php)

Step 4: Edit your vBulletin module, and change these two lines:

PHP Code:
$twitter = new Twitter('<twitter username>','<twitter password>');
$twitter->updateStatus($tweet); 
to

PHP Code:
$twitter = new Twitter('<Twitter Consumer Key>''<Twitter Consumer Secret>');
$twitter->statusesUpdate($tweet); 
All should be sweet now.

At least, it was for me...

That worked for me - thanks v much

For the sake of anyone reading this post who is getting errors when they install the plugin, try fountainmass' instructions above. It's slightly difficult but it works.
Reply With Quote
  #573  
Old 05-17-2011, 05:52 PM
Alfa1's Avatar
Alfa1 Alfa1 is offline
 
Join Date: Dec 2005
Location: Netherlands
Posts: 3,537
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I only want to post new threads to twitter after they have been rated 5 stars. This way only interesting threads are posted to twitter. If I would post all new threads to twitter then my twitterfeed would get hundreds of posts per day. This would be spammy as not all of them would be of interest to twitter followers.

Please consider to add this function.
Reply With Quote
  #574  
Old 05-19-2011, 04:29 AM
jackalopejoe jackalopejoe is offline
 
Join Date: Aug 2010
Posts: 12
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well that was a waste of time... Why don't they graveyard this......


This one however works fine.
https://vborg.vbsupport.ru/showpost....&postcount=559
Reply With Quote
  #575  
Old 05-20-2011, 11:05 AM
andycaps andycaps is offline
 
Join Date: Mar 2011
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi Guys,
I have installed all the details as per the instructions and cannot see any tweeted forum posts in my twitter page - I also get no error messages, thus is appears to be ok but cant see the forum threads in twwitter?
thank
Andy
Reply With Quote
  #576  
Old 06-05-2011, 07:49 AM
shzad1 shzad1 is offline
 
Join Date: Jul 2008
Posts: 69
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

WOW
Awesome buddy
Great Work

Let me check.....
Reply With Quote
  #577  
Old 06-05-2011, 08:26 AM
shzad1 shzad1 is offline
 
Join Date: Jul 2008
Posts: 69
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Everything is OK...
but got this error

Fatal error: Basic authentication is not supported on line 204 in [path]/twitter.php in [path]/vb/vb.php on line 287

Basic authentication is not supported on line 204 in /home/youngsko/public_html/twitter.php
#0 /home/youngsko/public_html/twitter.php(648): Twitter->doCall('statuses/update...', Array, true)
#1 /home/youngsko/public_html/newthread.php(276) : eval()'d code(26): Twitter->updateStatus('Hijr Ka Taala D...')
#2 /home/youngsko/public_html/newthread.php(276): eval()
#3 {main}
Reply With Quote
  #578  
Old 06-05-2011, 11:29 AM
Videx's Avatar
Videx Videx is offline
 
Join Date: Feb 2007
Posts: 3,085
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by shzad1 View Post
WOW
Awesome buddy
Great Work

Let me check.....
Check what? If it works or not? Always read the entire thread before you install a modification. Or at the very least the last page.
Reply With Quote
  #579  
Old 06-07-2011, 06:11 AM
shzad1 shzad1 is offline
 
Join Date: Jul 2008
Posts: 69
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by shzad1 View Post
Everything is OK...
but got this error

Fatal error: Basic authentication is not supported on line 204 in [path]/twitter.php in [path]/vb/vb.php on line 287

Basic authentication is not supported on line 204 in /home/youngsko/public_html/twitter.php
#0 /home/youngsko/public_html/twitter.php(648): Twitter->doCall('statuses/update...', Array, true)
#1 /home/youngsko/public_html/newthread.php(276) : eval()'d code(26): Twitter->updateStatus('Hijr Ka Taala D...')
#2 /home/youngsko/public_html/newthread.php(276): eval()
#3 {main}



I Got this error
can some 1 tell me how to fix it please
Reply With Quote
  #580  
Old 06-07-2011, 01:20 PM
Videx's Avatar
Videx Videx is offline
 
Join Date: Feb 2007
Posts: 3,085
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by shzad1 View Post
I Got this error
can some 1 tell me how to fix it please
I just told you how to fix it. If you aren't going to read, don't keep asking.

I'll reiterate: Some people have gotten this mod to work with extensive editing. It's in the thread, they aren't going to repeat it all again. But why bother, since there's another mod that works great.
Reply With Quote
  #581  
Old 06-08-2011, 03:58 AM
shzad1 shzad1 is offline
 
Join Date: Jul 2008
Posts: 69
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Videx View Post
I just told you how to fix it. If you aren't going to read, don't keep asking.

I'll reiterate: Some people have gotten this mod to work with extensive editing. It's in the thread, they aren't going to repeat it all again. But why bother, since there's another mod that works great.
Thanks Brother
Reply With Quote
Reply


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

Forum Jump


All times are GMT. The time now is 01:20 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07886 seconds
  • Memory Usage 2,347KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete