4940
Comment: Remove superfluous exclamation mark
|
8700
document Stream closed (403 Forbidden)
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Since version 1.2.6, BitlBee has native support for Twitter via the Twitter API. Since 1.2.7, it uses OAuth authentication for this, as the Twitter.com API will stop accepting HTTP-Basic authentication from the end of June. | !BitlBee has native support for Twitter via the Twitter API. |
Line 5: | Line 5: |
To use your Twitter account in BitlBee: | You need to use '''at least !BitlBee bzr 991''': * The 3.2 release uses HTTP/1.0 for the stream mode, which isn't supported anymore. You can still use 3.2 by disabling the stream mode, see the "common issues" section below. * Older versions used the 1.0 API which does not work at all. If you're stuck with 3.0 in a debian based distro, there's a repository at http://code.bitlbee.org/debian/ == Connecting == To use your Twitter account in !BitlBee: |
Line 12: | Line 21: |
11:45:06 <root> twitter(BitlBee) - Logging in: Requesting OAuth request token | 11:45:06 <root> twitter - Logging in: Requesting OAuth request token |
Line 15: | Line 24: |
Since you're using OAuth, you don't have to enter your actual Twitter password at this point. Since BitlBee requires a password to be entered for every account, just type something bogus here (like ''foo'' in this example). | Since you're using OAuth, you don't have to enter your actual Twitter password at this point. Since !BitlBee requires a password to be entered for every account, just type something bogus here (like ''foo'' in this example). |
Line 30: | Line 39: |
11:59:54 <root> twitter(BitlBee) - Logging in: Connecting to Twitter 11:59:55 <root> twitter(BitlBee) - Logging in: Logged in |
11:59:54 <root> twitter - Logging in: Connecting to Twitter 11:59:55 <root> twitter - Logging in: Logged in |
Line 36: | Line 45: |
This OAuth-based authentication "dance" has to be done only once. At the end of the process, Twitter gives BitlBee a permanent authentication token, which will be saved in your configuration. | This OAuth-based authentication "dance" has to be done only once. At the end of the process, Twitter gives !BitlBee a permanent authentication token, which will be saved in your configuration. |
Line 43: | Line 52: |
12:05:13 <root> 13. twitter, BitlBee (connected) | 12:05:13 <root> 13 (twitter): twitter, BitlBee (connected) |
Line 45: | Line 54: |
12:05:18 <wilmer> account off twitter(BitlBee) 12:05:18 <root> twitter(BitlBee) - Signing off.. 12:05:26 <wilmer> account set 13/mode chat |
12:05:18 <wilmer> account twitter off 12:05:18 <root> twitter - Signing off.. 12:05:26 <wilmer> account twitter set mode chat |
Line 49: | Line 58: |
12:05:28 <wilmer> account on 13 12:05:28 <root> twitter(BitlBee) - Logging in: Connecting to Twitter 12:05:29 <root> twitter(BitlBee) - Logging in: Logged in |
12:05:28 <wilmer> account twitter on 12:05:28 <root> twitter - Logging in: Connecting to Twitter 12:05:29 <root> twitter - Logging in: Logged in |
Line 70: | Line 79: |
To start following someone (this appeared in 1.2.8): | To start following someone: |
Line 72: | Line 81: |
add 13 twitter_username_to_follow | add twitter twitter_username_to_follow |
Line 74: | Line 83: |
(where 13 is the account_id for your twitter account in bitlbee. You can find account_id using 'account list' command) | |
Line 76: | Line 84: |
Right now, there's no way to unfollow/block a twitter user using bitlbee. Moreover, there's no support for 'retweets' and twitter 'lists' as of yet in bitlbee. | Right now, there's no way to unfollow/block a twitter user using bitlbee. Moreover, there's no support for twitter 'lists' or keyword searches as of yet in bitlbee. |
Line 80: | Line 88: |
In very new versions (released/checked out after 2010-08-08), you can retweet and reply to messages. See `help set commands` and `help set auto_reply_timeout` for more information. | You can retweet and reply to messages with !BitlBee. See `help set commands` and `help set auto_reply_timeout` for more information. |
Line 83: | Line 91: |
If you want to be able to retweet/reply to older messages regularly, it's a good idea to enable the '''show_ids''' setting, which will assign two-digit IDs to all messages, like this: {{{#!irc 11:19 <root> You: [97] Like being unable to buy laptops without Windows isn't enough,turns out removing the stupid license sticker is also really hard. Fuck you,MS 11:25 <frlinux> [98->97] @wilmer my users make a decent job at scratching and making all serial stickers unreadable after 2 years... 11:31 <frlinux> [00] ... 11:40 <wilmer> reply 98 Heh, in fact mine was already quite unreadable already yeah, in just over one year. Should've removed it earlier.. 11:40 <root> You: [03->98] @frlinux Heh, in fact mine was already quite unreadable already yeah, in just over one year. Should've removed it earlier.. }}} == (Strict) command mode == If you prefer, you can put Bitlbee in command mode to make every action explicit, preventing the accidental tweet if you make a typo. To set Twitter to command mode, set the '''commands''' setting to 'strict'. Note that it is set to 'on' by default. To do this, make sure you are in &bitlbee, and run `account <num> set commands strict`, where <num> is the id of your Twitter account. `account <num> set` will list the current configuration for that account. In strict command mode, the following commands are supported: * '''post''': Send the text following the command as a new tweet. * '''undo''' [id]: Undo last action or the action of the id provided (i.e. a tweet you posted). * '''favourite''' [id|username]: Favourite the tweet belonging to the id or username provided. * '''follow''' [username]: Start following the provided username. * '''unfollow''' [username]: Stop following the provided username. * '''report''' or '''spam''' [username|id]: Report the provided username for spam (will be looked up if a status id is provided) * '''rt''' [id|username]: Retweet tweet with status id provided, or last tweet by the username provided. * '''reply''' [id|username]: Reply to tweet with status id provided, or last tweet by the username provided. == Common Issues == === 401 Unauthorized === Commonly, when attempting to login, twitter will respond with the following: {{{ twitter - Logging in: Connecting twitter - Logging in: Requesting OAuth request token twitter - Couldn't log in: OAuth error: 401 Unauthorized twitter - Logging in: Signing off.. }}} Most often, when this error occurs, it means that the system clock is too far off from Twitter's own concept of what the time is. Installing 'ntp' on the system will help ensure that the system's clock stays accurate enough for Twitter. === Stream closed (403 Forbidden) === Since 21 nov 2013 twitter does not allow HTTP/1.0 for user streams. Due to this, !BitlBee 3.2 will fail to connect with `Stream closed (403 Forbidden)`. {{{ twitter - Logging in: Getting contact list twitter - Logging in: Getting initial statuses twitter - Logging in: Logged in twitter - Error: Stream closed (403 Forbidden) twitter - Signing off.. }}} This error will probably be followed by "429 rate limit exceeded", if this happens you should wait 15 minutes before connecting again. One solution is to '''upgrade''' to a development version, '''at least bzr 991'''. If for some reason you can't upgrade, you can '''workaround''' this by disabling the stream protocol: {{{ account twitter set stream off }}} The downside of this is that the twitter channel will only update every 60 seconds === Other errors === Check your !BitlBee version. Versions older than 3.2 won't work because Twitter removed the API calls used by old !BitlBee versions. |
Setting up a Twitter account in BitlBee
BitlBee has native support for Twitter via the Twitter API.
You need to use at least BitlBee bzr 991:
- The 3.2 release uses HTTP/1.0 for the stream mode, which isn't supported anymore. You can still use 3.2 by disabling the stream mode, see the "common issues" section below.
- Older versions used the 1.0 API which does not work at all.
If you're stuck with 3.0 in a debian based distro, there's a repository at http://code.bitlbee.org/debian/
Connecting
To use your Twitter account in BitlBee:
Since you're using OAuth, you don't have to enter your actual Twitter password at this point. Since BitlBee requires a password to be entered for every account, just type something bogus here (like foo in this example).
This will start up OAuth authentication. Soon, you will receive a message from twitter_yourusername:
1 11:45:07 <twitter_bitlbee> To finish OAuth authentication, please visit http://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxx and respond with the resulting PIN code.
Open this link in your web browser and you will get something like this:
Or if you're not logged into Twitter yet in that browser, it will let you do that first. Once you click on Allow here, Twitter will show you a seven-digit password. In your IRC window with twitter_yourusername, just respond with this password (and nothing else on the line, just the password!) to finish the login process. If everything goes well:
And you will now get all tweets from yourself and the people you follow in the twitter_yourusername query window. (Note that you can use the rename command to change this nick into something else, for example to just "Twitter".) If you want to send tweets yourself, any message sent to this user will be posted as a tweet.
This OAuth-based authentication "dance" has to be done only once. At the end of the process, Twitter gives BitlBee a permanent authentication token, which will be saved in your configuration.
If you'd like to get your Tweets in something that looks more like an IRC channel instead of everything in one query window, you can use the mode account setting. To enable it, you have to log out, change the setting and log back in:
1 12:05:13 <wilmer> account list
2 12:05:13 <root> ...
3 12:05:13 <root> 13 (twitter): twitter, BitlBee (connected)
4 12:05:13 <root> End of account list
5 12:05:18 <wilmer> account twitter off
6 12:05:18 <root> twitter - Signing off..
7 12:05:26 <wilmer> account twitter set mode chat
8 12:05:26 <root> mode = `chat'
9 12:05:28 <wilmer> account twitter on
10 12:05:28 <root> twitter - Logging in: Connecting to Twitter
11 12:05:29 <root> twitter - Logging in: Logged in
And in a new channel window you'll get all your Twitter stuff:
1 12:05:29 -!- Irssi: &twitter_bitlbee: Total of 22 nicks [1 ops, 0 halfops, 10 voices, 11 normal]
2 12:05:29 -!- Topic for &twitter_bitlbee: BitlBee groupchat: "home/timeline". Please keep in mind that root-commands won't work here. Have fun!
3 12:05:29 -!- Topic set by root [root@testbee.bitlbee.org] [Sat May 22 12:05:29 2010]
4 12:05:29 <root> Your Tweet: Some people *may* be having troubles with testing.bitlbee.org because of apparent network problems @ London Internet Exchange.
5 12:05:29 <root> Your Tweet: BitlBee 1.2.5 is finally ready, with full support for status messages and better support for Facebook chat! http://bit.ly/d62AUF
6 12:05:29 <root> Your Tweet: BitlBee with native Twitter support: http://code.bitlbee.org/contrib/geert-twitter/ will be merged into mainline soon.
In this mode, you can also send messages by just writing in the IRC channel.
Using Twitter inside BitlBee
Now that you have twitter up and running inside bitlbee, you'll probably want to follow/unfollow users on twitter etc.
To start following someone:
add twitter twitter_username_to_follow
Right now, there's no way to unfollow/block a twitter user using bitlbee. Moreover, there's no support for twitter 'lists' or keyword searches as of yet in bitlbee.
Replies, retweets, etc.
You can retweet and reply to messages with BitlBee. See help set commands and help set auto_reply_timeout for more information.
In short, usually just replying to people the way you normally do on IRC should be converted into a reply to the person's last message. Retweets can be done by doing rt <screenname> in your Twitter window.
If you want to be able to retweet/reply to older messages regularly, it's a good idea to enable the show_ids setting, which will assign two-digit IDs to all messages, like this:
1 11:19 <root> You: [97] Like being unable to buy laptops without Windows isn't enough,turns out removing the stupid license sticker is also really hard. Fuck you,MS
2 11:25 <frlinux> [98->97] @wilmer my users make a decent job at scratching and making all serial stickers unreadable after 2 years...
3 11:31 <frlinux> [00] ...
4 11:40 <wilmer> reply 98 Heh, in fact mine was already quite unreadable already yeah, in just over one year. Should've removed it earlier..
5 11:40 <root> You: [03->98] @frlinux Heh, in fact mine was already quite unreadable already yeah, in just over one year. Should've removed it earlier..
(Strict) command mode
If you prefer, you can put Bitlbee in command mode to make every action explicit, preventing the accidental tweet if you make a typo. To set Twitter to command mode, set the commands setting to 'strict'. Note that it is set to 'on' by default.
To do this, make sure you are in &bitlbee, and run account <num> set commands strict, where <num> is the id of your Twitter account. account <num> set will list the current configuration for that account.
In strict command mode, the following commands are supported:
post: Send the text following the command as a new tweet.
undo [id]: Undo last action or the action of the id provided (i.e. a tweet you posted).
favourite [id|username]: Favourite the tweet belonging to the id or username provided.
follow [username]: Start following the provided username.
unfollow [username]: Stop following the provided username.
report or spam [username|id]: Report the provided username for spam (will be looked up if a status id is provided)
rt [id|username]: Retweet tweet with status id provided, or last tweet by the username provided.
reply [id|username]: Reply to tweet with status id provided, or last tweet by the username provided.
Common Issues
401 Unauthorized
Commonly, when attempting to login, twitter will respond with the following:
twitter - Logging in: Connecting twitter - Logging in: Requesting OAuth request token twitter - Couldn't log in: OAuth error: 401 Unauthorized twitter - Logging in: Signing off..
Most often, when this error occurs, it means that the system clock is too far off from Twitter's own concept of what the time is. Installing 'ntp' on the system will help ensure that the system's clock stays accurate enough for Twitter.
Stream closed (403 Forbidden)
Since 21 nov 2013 twitter does not allow HTTP/1.0 for user streams. Due to this, BitlBee 3.2 will fail to connect with Stream closed (403 Forbidden).
twitter - Logging in: Getting contact list twitter - Logging in: Getting initial statuses twitter - Logging in: Logged in twitter - Error: Stream closed (403 Forbidden) twitter - Signing off..
This error will probably be followed by "429 rate limit exceeded", if this happens you should wait 15 minutes before connecting again.
One solution is to upgrade to a development version, at least bzr 991.
If for some reason you can't upgrade, you can workaround this by disabling the stream protocol:
account twitter set stream off
The downside of this is that the twitter channel will only update every 60 seconds
Other errors
Check your BitlBee version. Versions older than 3.2 won't work because Twitter removed the API calls used by old BitlBee versions.