Note that we are not taking any new features or changes - if you feel like something is that important to the chat, please contact jen@meatspac.es or ednapiranha before sending something that might be rejected.
If you want to create a browser add-on or plugin feel free to do so and follow the API instructions below. Then send us a pull request with your link at https://github.com/meatspaces/meatspace-chat-hackers.
brew install zeromq
cp local.json-dist local.json
cp clients.json-dist clients.json
npm install
npm -g install nodemon
bower install
npm run-script grunt build
npm start
You can listen to the socket to receive incoming messages or use long polling at either https://chat.meatspac.es or http://chat-staging.meatspac.es.
A meatspace chat message is a nested dictionary in the form
{
chat:
{
value:
{
media: data:image/gif;base64,<base64 data>,
message: '<message; may be empty>,
ttl: 600000,
created: <time-string>,
fingerprint: <32-byte hex>
}
},
key: <unique message key>
}
If you mute a user then you won't see any new posts from them at that machine and IP. There is an unmute button below the meatcube logo on the page.
If you need an apiKey to post from your app, contact me at jen@meatspac.es and I will try to hook you up! You will get access to staging server to see if everything works and see if it is appropriate for the production server (which I will give you a new apiKey).
If you are doing native or non-web calls to the API, you will first need a valid apiKey and then you can make the following calls:
Push a new message through a socket request and provide the following data:
{
apiKey: <apiKey>,
message: <text message; can be empty>,
picture: data:image/gif;base64,<a base64 blob of the gif data>,
fingerprint: <a unique identifier for the user posting from the client, preferably md5-hashed>
}