!!! NOTE: Due to the recent update to spacehey's IM feature, this probably does not work anymore. The API is completely different and significantly more complicated. !!!
SpaceHey has a very wierd "instant messanger" built into it. I got really curious and decided to figure out how it worked. Long story short I reverse engineered the api a bit, and made this alternative client in NodeJS using the neo-blessed interface library.
Please be aware that this is experimental, and there are bugs. Mainly because I almost exclusively work on this half asleep.
In order for it to work, you need to find your session ID using these steps:
- Log into spacehey
- Open up the F12 menu
- Go to the network tab
- Reload the page
- Click on any request in the list
- Scroll down to where it says request headers, and you should see a header called "Cookie"
- Find your session ID. It is the string of random numbers and letters after "PHPSESSID=".
- Copy the session ID. Make sure to only copy the numbers and letters starting after the = sign and ending before the semicolon.
Then, navigate to the directory of this repo and run node index.js
, and it
should ask for your key. Once you enter it, you should be able to use the
program.
I may experiment with username/password login in the future
On the left, you can see all of you conversations. On the right, you can see the conversation history of the currently selected conversation.
enter
: Send messageup
: Switch to chat abovedown
: Switch to chat belowctrl-r
: Force refreshctrl-d
: Exit
- Switch between chats
- Send and recieve messages
- Animated cooldown timer (SpaceHey site doesn't even have this ;))
- Force refresh
- Can have quicker loading times than the official version (also causes slightly less server load!)
- Will run anywhere theres node and a terminal - you don't even need a graphical desktop installed to use it
- Less bugs of course
- Block and report buttons
- Multiline text editing
- Url image embeds (on terminals such as kitty)
- Caching message history to disk
- Adding new chats from friends list
- View basic user profile info
- Integrated configuration manager