aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/twitter
Commit message (Collapse)AuthorAgeLines
* Expand each (media) URL only once. Twitter likes duplication. #1275.Wilmer van der Gaast2016-11-27-3/+5
|
* Heh, oops, some error in the Twitter module still mentioned XML. Fixed.Wilmer van der Gaast2016-11-23-1/+1
| | | | | Some structs still have xml in their name but meh, at least that's not visible to the user.
* Improve support for protocols which don't require a passworddequis2016-11-13-1/+2
| | | | | | This adds a prpl_options_t enum with flags, which mostly just brings OPT_PROTO_{NO_PASSWORD,PASSWORD_OPTIONAL} from libpurple as PRPL_OPT_{NO_PASSWORD,PASSWORD_OPTIONAL}
* twitter: fix quoted tweet expansion in extended tweetsdequis2016-10-02-5/+14
| | | | | | | | | | | | The outermost entities object only contains the url of the compat tweet, the one linking to /i/web/status/[...] The inner entities object, inside the "extended_tweet", is the one that contains the quoted tweet url that we're supposed to replace. But expand_entities() assumed that the quoted_status object would be next to entities, which doesn't apply in the case of extended tweets. So now it gets an extra parameter to look for entities.
* twitter: don't count filter stream reply as valid pongsdequis2016-09-24-1/+4
| | | | | | | | | | | | | | | | | Twitter streams send newlines to indicate that they are alive. The twitter_http_stream() function processes those and sets the ponged flag so that the whole connection doesn't timeout. That function is used to handle both user stream and filter stream. If the user stream is dead (not sending whitespace) but the filter stream isn't, the latter keeps the connection alive while the main twitter channel is completely dead. This commit only sets the ponged flag for the user stream. This has the side effect of not detecting if the filter stream dies - but that didn't work before, anyway. In the future the whole stream connection management should be revamped - for example stream disconnections shouldn't take the whole account down, especially not filter streams.
* twitter: extended tweet support (AKA avoid showing truncated ones)dequis2016-09-21-13/+22
| | | | | | | | | | | | | Documentation over here: https://dev.twitter.com/overview/api/upcoming-changes-to-tweets This is already live in twitter, can be tested by including an attachment from twitter web and then fill 140 characters. Should be sanely backwards compatible with twitter clones - i'd expect them to ignore the tweet_mode=extended parameter in REST queries, and just not deliver extended_tweet objects / full_text strings at all.
* twitter: don't hard-fail with mutes or noretweets (for "identica")dequis2016-07-25-0/+10
| | | | | | Fixes trac ticket 1254 Kinda dirty but better than keeping it broken.
* Twitter: add "like" as an alias for favourite.Aaron van Geffen2016-05-26-1/+2
| | | | | This will allow a user to type "like" in Twitter channels, reflecting recent changes to Twitter itself. Note that the API hasn't changed.
* Remove the ARCH / CPU defines.Jelmer Vernooij2016-05-15-1/+1
| | | | | | | These only reflect on what arch/cpu bitlbee was built, not on which it is running. This makes the Debian package unreproducible. See e.g. https://tests.reproducible-builds.org/rb-pkg/testing/i386/bitlbee.html
* twitter: Fix a couple of leaks of mutes_ids and retweets_idsdequis2016-04-17-8/+10
| | | | | | | Just freeing the list on logout and when removing items from them. Also remove the "checking mutes" debug which is disproportionately noisy compared to the rest of the protocol.
* Avoid adding an id twice to the mutes list.Flexo2016-04-01-7/+26
| | | | | | | Twitter doesn't error if you mute the same user multiple times. Also, correct signedness of the stringified user ids. bitlbee keeps them as unsigned even if the json library uses signed for integers...
* Receive mute/unmute notifications from the stream.Flexo2016-03-31-5/+25
|
* Add mute and unmute commands.Flexo2016-03-31-0/+24
|
* Honour twitter's mutes and "hide retweets from this user" settings.Flexo2016-03-23-0/+137
|
* twitter.c: Squelch an unused variable warningDennis Kaarsemaker2016-02-26-1/+1
| | | | 9456255 made the variable 's' unused but failed to remove it.
* Change twitter url length to 23 instead of 22Vegard Langås2016-02-09-6/+1
|
* twitter: Fix some nitpicky issues reported by coveritydequis2015-10-08-21/+24
| | | | | | Mostly minor rare leaks that happen in error conditions, and one dereference before null check in twitter_logout (the null check is probably the wrong one there, but it doesn't hurt to keep it)
* typofix - https://github.com/vlajos/misspell_fixerVeres Lajos2015-08-07-1/+1
|
* twitter: show full url in the url command, with usernamedequis2015-06-08-5/+41
| | | | | | | By asking the server for the username. Storing the username somewhere would have made sense, but this command isn't going to be used very often, so, whatever.
* twitter: fix leak of the letter "s" in twitter_url_len_diffdequis2015-06-08-2/+6
| | | | | | | | Yeah, just the letter s from "https", and a null byte. Really critical stuff. You'd have to post a million tweets to even notice this at all.
* twitter: add twitter_log_local_user back (oops)dequis2015-05-30-0/+2
| | | | | Accidentally nuked it while resolving merge conflicts of a different branch.
* Move twitter_parse_id() to parse_int64() in misc.cdequis2015-05-30-19/+2
|
* twitter: split length check function into twitter_message_lendequis2015-05-07-4/+11
| | | | | | Mostly to be able to test twitter_message_len externally against the twitter-text conformance tests (the current version definitely fails - it doesn't do utf8 normalization)
* Make replies to self work in Twitter.Wilmer van der Gaast2015-05-03-5/+25
| | | | | Difficult because there's no bee_user struct pointing at the user themselves so instead just fake one for very limited use.
* Parsing of "retweets with comment". Not documented by Twitter so good luck.Wilmer van der Gaast2015-05-03-17/+37
| | | | Also, fix bug in parsing of entities in DMs.
* Add "url" command to Twitter module to get web URL for a Tweet.Wilmer van der Gaast2015-05-02-0/+13
|
* twitter: fix _last_tweet setting, which broke during a mergedequis2015-03-13-1/+1
| | | | | | Commit eb4ad8d (a merge commit, yes) changed it to _last_tweet and missed one of the three. Not entirely sure if wilmer's fault, could be mine when I did the merge of his merge on my side. Whatever.
* Various user experience/error reporting improvementsdequis2015-03-10-0/+3
| | | | | | | | | | | - Show version as part of the initial message of &bitlbee - Use g_strerror() to show actual errors when saving xml configs - Only show "The nick is (probably) not registered" for ENOENT, use g_strerror() for the rest of OS errors when loading xml configs - Show "Protocol not found: <name>" when find_protocol() returns null, useful when the user uninstalls a plugin accidentally. - Suggest the user to check the system clock when getting error 401 from the twitter stream (other REST endpoints show a better error message)
* twitter: Fix twitter_parse_id to accept 00 as a valid tweetdequis2015-03-10-7/+8
| | | | | | Also fix the endptr condition which was backwards and resulted in every tweet id getting rejected, but you didn't see that one, this commit really is about the tweet id 00 which is the most important tweet id.
* twitter_parse_id function, with better error handling than sscanf()dequis2015-02-22-3/+16
| | | | | Fixes issues such as parsing "reply eo" as replying to "0e", as reported by torrancew
* Reindent everything to K&R style with tabsIndent2015-02-20-317/+452
| | | | | | | Used uncrustify, with the configuration file in ./doc/uncrustify.cfg Commit author set to "Indent <please@skip.me>" so that it's easier to skip while doing git blame.
* Revert "Twitter format strings"dequis2015-02-20-52/+15
| | | | | | This reverts commit ce402b20d82ec323e6bd5e306de934773590742d. See discussion in PR #10 for more details.
* Twitter format stringsWilliam Pettersson2015-01-26-15/+52
| | | | | | | | | | | Allow users to specify how tweets should be displayed 3 new settings are available to set how tweets are displayed: - twitter_format_string for normal tweets - retweet_format_string for retweets - reply_format_string for replies For full documentation see the help files
* twitter: Add raw reply supportWilliam Pettersson2015-01-26-0/+9
| | | | | | | By default, "reply" prepends the username of the tweet being replied to. This adds support for a "rawreply" command which does not prepend this username. This is useful for "replying" to your own tweet to maintain a chain of tweets on a singular topic.
* twitter: implemented filter based group chatsjgeboski2015-01-25-7/+503
| | | | | | | | | | | | | | | | | | | | | Filter group chats allow for the ability to read the tweets of select users without actually following the users, and/or track keywords or hashtags. A filter group chat can have multiple users, keywords, or hashtags. These users, keywords, or hashtags can span multiple group chats. This allows for rather robust filter organization. The underlying structure for the filters is based on linked list, as using the glib hash tables requires >= glib-2.16 for sanity. Since the glib requirement of bitlbee is only 2.14, linked list are used in order to prevent an overly complex implementation. The idea for this patch was inspired by Artem Savkov's "Twitter search channels" patch. In order to use the filter group chats, a group chat must be added to the twitter account. The channel room name is either follow:username, track:keyword, and/or track:#hashtag. Multiple elements can be used by separating each element by a semicolon.
* Merging random other fixes/cleanups.Wilmer van der Gaast2015-01-17-12/+24
|\
| * twitter: minor cleanup, use G_G(U)INT64_FORMAT instead of castingdequis2015-01-16-11/+11
| |
| * twitter: start stream from last tweet on connect/reconnectroger2015-01-16-1/+13
|/ | | | | This works by setting the last_tweet hidden account setting to the ID of the last shown tweet.
* Replace isdigit/isalpha/.../tolower/toupper with glib variantsdequis2015-01-16-2/+2
| | | | | | | | | | | This fixes warnings about passing signed chars to them (apparently they are implemented as macros that do array lookups without checks in some platforms, yay) Specifically: functions=isalnum|isalpha|isdigit|isspace|isxdigit|tolower|toupper sed -ir "s/$functions/g_ascii_&/g" **/*.c
* twitter: Use g_strcasecmp for screen_namedequis2014-11-24-4/+4
| | | | | | Fixes a few minor bugs with users who have uppercase characters in nicks (see trac ticket 1138). Most notably, the "follow" command showing no feedback that a user was followed
* twitter: Add support for The United States of Americadequis2014-09-27-1/+3
| | | | Land of the Free, Home of the Brave
* Default twitter's show_old_mentions to 0dequis2014-09-27-1/+1
|
* Add limit param to split_command_parts(), fix twitter quotes bugdequis2014-07-24-2/+2
| | | | Only took me a few months to write. I even added a test case.
* Update json-parser code to git rev 11a80f389769d1f66ca7fbe64ad89c82d3ba4ba9.Wilmer van der Gaast2014-02-13-4/+4
| | | | | | Few BitlBee-specific diffs now. Annoyingly need to link to libm now for the use of the function pow() since the lib now does its own number parsing...
* Update to deal with a not-so-recent regression in the Twitter URL lenghteningWilmer van der Gaast2013-07-13-2/+3
| | | | | | | | | service. https://dev.twitter.com/blog/upcoming-tco-changes #1077 Seriously guys, stop being so obnoxious. This t.co garbage lengthens pretty much everything (that looks like a) URL at this point. Stop counting it towards the 140-char limit.
* Fix cleanup failure on Twitter timeouts.Wilmer van der Gaast2013-06-16-7/+8
|
* Use HTTP/1.1 by default in the Twitter module, and stick to the initiallyWilmer van der Gaast2013-06-16-1/+1
| | | | | used protocol version when internally handling redirects.
* Turn off fetch_mentions by default for identi.ca connections since it's noWilmer van der Gaast2013-06-16-1/+4
| | | | | longer working. (Not compatible with Twitter API 1.1 from what I can see?)
* Emit a warning when the user wants to do OAuth with a non-Twitter/identi.caWilmer van der Gaast2013-06-01-2/+8
| | | | | service, and string handling fix when pretending to do this anyway.
* Apparently Twitter API 1.1 is SSL-only. *sigh*Wilmer van der Gaast2013-05-23-1/+1
|