Skip to content

Instantly share code, notes, and snippets.

@Prof9

Prof9/Readme.md

Last active Jun 11, 2021
Embed
What would you like to do?
THIS SCRIPT NO LONGER WORKS! Twitter has rolled out a fix for the web client hack. (Original text: Force enable cramming (280 character tweets) on Twitter. Use TamperMonkey. NOTE: Stops working when you switch pages, refresh to fix.)

As of 7 November 2017 everyone has access to 280 characters in supported clients, so you no longer need this script!

// ==UserScript==
// @name Twitter Cramming
// @description Force enable cramming (280 character tweets) on Twitter
// @author Prof. 9
// @version 0.1
// @match https://twitter.com/*
// @run-at document-idle
// @namespace prof9.twittercramming
// ==/UserScript==
var initDataInput = document.getElementById('init-data');
var initData = JSON.parse(initDataInput.value);
initData.deciders.cramming_feature_enabled = true;
initData.deciders.cramming_ui_enabled = true;
initDataInput.value = JSON.stringify(initData);
// This is free and unencumbered software released into the public domain.
//
// Anyone is free to copy, modify, publish, use, compile, sell, or
// distribute this software, either in source code form or as a compiled
// binary, for any purpose, commercial or non-commercial, and by any
// means.
//
// In jurisdictions that recognize copyright laws, the author or authors
// of this software dedicate any and all copyright interest in the
// software to the public domain. We make this dedication for the benefit
// of the public at large and to the detriment of our heirs and
// successors. We intend this dedication to be an overt act of
// relinquishment in perpetuity of all present and future rights to this
// software under copyright law.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
// For more information, please refer to <http://unlicense.org>
@colemickens

This comment has been minimized.

Copy link

@colemickens colemickens commented Sep 27, 2017

There doesn't happen to be a version that supports TweetDeck, is there?

@Prof9

This comment has been minimized.

Copy link
Owner Author

@Prof9 Prof9 commented Sep 27, 2017

@colemickens Not a userscript, but there is a way to get it working. Takes some more setting up though. See: https://twitter.com/Zemnmez/status/912876877391335424

@wongmjane

This comment has been minimized.

@a1exDi

This comment has been minimized.

Copy link

@a1exDi a1exDi commented Sep 27, 2017

thx! its work

@Qix-

This comment has been minimized.

Copy link

@Qix- Qix- commented Sep 27, 2017

Doesn't appear to work. The 140 character limit is still imposed. Downloaded and installed as a Chrome userscript via the chrome://extensions page - is there something extra that has to happen?

@Revod

This comment has been minimized.

Copy link

@Revod Revod commented Sep 27, 2017

@qix I just installed the Script, sent a tweet as test. Show to me 140, I sent 280 and successfully posted without problem

@ixtrunai

This comment has been minimized.

Copy link

@ixtrunai ixtrunai commented Sep 27, 2017

It works but 140 chars counter still there, any way to change it?

@joridiculous

This comment has been minimized.

Copy link

@joridiculous joridiculous commented Sep 27, 2017

Your Tweet was over 140 characters. You'll have to be more clever. .. Well that's no fun :/
Nope. This refuse to work for me :(

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Sep 27, 2017

doesn't work here (France)

edit : works after clearing cache

@willicab

This comment has been minimized.

Copy link

@willicab willicab commented Sep 27, 2017

not work for me, in web console appear this error

ERROR: Execution of script 'Twitter Cramming' failed! initDataInput is null

I'm using Firefox Nightly 58.0a1

@if1live

This comment has been minimized.

Copy link

@if1live if1live commented Sep 27, 2017

In CJK (Chinese, Japanese, Korean) and other language, cannot tweet long text.
So I made a CJK patch.
https://gist.github.com/if1live/bc4750c0d4585789b66d899129ecb9ad

Cause

  • code 0~4351 : weight 100
  • code 4352~65535 : weight 200

ab is in code 0 ~ 4351, total weight is 100 x 2 = 200.
is in code 4352 ~ 65535, total weight is 200 x 1 = 200.
double weight means half length.

https://abs.twimg.com/k/en/0.commons.en.e6c61ddd975ec97b1ee5.js

, r = o({}, a, {
version: "cramming",
max_tweet_length: 280,
default_weight: 200,
    ranges: [{
        start: 0,
        end: 4351,
        weight: 100
    }, {
        start: 4352,
        end: 65535,
        weight: 200
    }]
})

Solution

Access above config(TwitterTextOptions), then modify weight 200 to 100.

@hikari-no-yume

This comment has been minimized.

Copy link

@hikari-no-yume hikari-no-yume commented Sep 27, 2017

NOW I CAN POST 280-CHARACTER TWEETS IN JAPANESE

JACK KNOWS NOT WHAT POWER HE HAS HANDED ME

MUAHAHAHAHA

@hinaloe

This comment has been minimized.

Copy link

@hinaloe hinaloe commented Sep 27, 2017

emoji is not in their char code because it based on 2 or more chars (surrogate-pair).

Ex: 😇 is 55357 + 56839
And some japanese kanji has same issue (𠮷、𩸽、and some……)

but Twitter API count that as 1 char. with default_weight: 100, it will be fixed.

https://gist.github.com/hinaloe/c2381b1370371f5d9a4bb2be190f9c66

@Shugabuga

This comment has been minimized.

Copy link

@Shugabuga Shugabuga commented Sep 27, 2017

It does work as intended, but the character counter seems to be broken.

Either way, thanks for making this simple to use!

@erydactyl

This comment has been minimized.

Copy link

@erydactyl erydactyl commented Sep 27, 2017

@colemickens, I have just put the TweetDeck version in a Userscript if that is any use. It is a bit messy/hacky but it works. https://gist.github.com/erydactyl/8ac7fe290a5ea72706cc1b77d15163d9

@Raw3a2011

This comment has been minimized.

Copy link

@Raw3a2011 Raw3a2011 commented Sep 27, 2017

I want to large it 280
https://goo.gl/Yms5au

@LongHairedHacker

This comment has been minimized.

Copy link

@LongHairedHacker LongHairedHacker commented Sep 27, 2017

Hi,
I've just hacked a version that survives switching pages.
No more refreshing,this is 2017 after all.
https://gist.github.com/LongHairedHacker/2b4e2a526f02906acbafe39229176b08
Feel free to integrate that here.

@joridiculous

This comment has been minimized.

Copy link

@joridiculous joridiculous commented Sep 27, 2017

Cant get either of these to work :(

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Sep 27, 2017

doesn't work anymore :/

@plasma-node

This comment has been minimized.

Copy link

@plasma-node plasma-node commented Sep 27, 2017

Broken

@Prof9

This comment has been minimized.

Copy link
Owner Author

@Prof9 Prof9 commented Sep 27, 2017

Yep, Twitter rolled out a fix. You'll have to try one of the other methods out there to get your tweet on.

Here are some that work for TweetDeck:

@Nodws

This comment has been minimized.

Copy link

@Nodws Nodws commented Sep 27, 2017

Damn snitches

@DonkeyKongJr

This comment has been minimized.

Copy link

@DonkeyKongJr DonkeyKongJr commented Sep 28, 2017

Are there any hacks for Tweetbot?

@bloggingcurb

This comment has been minimized.

Copy link

@bloggingcurb bloggingcurb commented Sep 28, 2017

nothing here works... :-(( still at 140

@SnowyWorld2

This comment has been minimized.

Copy link

@SnowyWorld2 SnowyWorld2 commented Sep 30, 2017

off

@barripdmx

This comment has been minimized.

Copy link

@barripdmx barripdmx commented Sep 30, 2017

Not work

@techahax

This comment has been minimized.

Copy link

@techahax techahax commented Oct 1, 2017

wait, so is this working

@CollinChaffin

This comment has been minimized.

Copy link

@CollinChaffin CollinChaffin commented Oct 1, 2017

Frustrated that like most I was not blessed with the new 280 char tweeting, and the "fixes" out there don't work anymore, I decided to fix :) As as a fully automatic #Greasemonkey #Tampermonkey script here: http://bit.ly/unlock280 Get your #280tweets on while you can! :)

Kickass

@kozjegyzo

This comment has been minimized.

Copy link

@kozjegyzo kozjegyzo commented Oct 2, 2017

@CollinChaffin Thanks Man, this works like a charm!

@HuproZ

This comment has been minimized.

Copy link

@HuproZ HuproZ commented Oct 4, 2017

@CollinChaffin You, sir, are the man of the situation.

@NDBellisario

This comment has been minimized.

Copy link

@NDBellisario NDBellisario commented Oct 4, 2017

@CollinChaffin Thank you, You sir are awesome! 👍

@CptSpaceToaster

This comment has been minimized.

Copy link

@CptSpaceToaster CptSpaceToaster commented Oct 9, 2017

Looks like the party's over

@patrickcoombe

This comment has been minimized.

Copy link

@patrickcoombe patrickcoombe commented Oct 13, 2017

No longer working - Like us, The good folks at @twitter appear to have found a workround for this. It was fun while it lasted :)

@tradhakrishnamurthy

This comment has been minimized.

Copy link

@tradhakrishnamurthy tradhakrishnamurthy commented May 13, 2018

sir, are the man of the situation.

@jehanggg

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment