Giter Site home page Giter Site logo

meatspace-chat's Introduction

Meatspace Chat

Build Status

Before you send a pull request

Note that we are not taking any new features or changes - if you feel like something is that important to the chat, please contact 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.

Setting up

brew install zeromq redis
redis-server &
cp local.json-dist local.json
cp clients.json-dist clients.json
cp whitelist.json-dist whitelist.json
npm install
npm -g install nodemon
bower install
npm run-script build
npm start

Create a Twitter Application for Meatspace

Sign in with your Twitter account to https://dev.twitter.com and create a new application.

Fill in the details for your local setup like so:

Twitter settings

Save your settings then go back and edit the settings again. Check off the 'Allow this application to be used to Sign in with Twitter' and save.

Open your browser at http://127.0.0.1:3000

Messages

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>
    }
}

Mute feature

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 in the menu in the top right corner.

Native apps (iOS/Android) or Non-web clients

If you need an apiKey to post from your app, contact me at [email protected] 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 plan on using node and the socket.io-client for a bot or other purposes, ensure you have socket.io-client ~0.9, as ~1.0 isn't compatble with the socket.io ~0.9.

API

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>
}

meatspace-chat's People

Contributors

tec27 avatar rwaldron avatar jory avatar maciek416 avatar sole avatar leobalter avatar sneakyness avatar imakewebthings avatar yocontra avatar skalnik avatar darkone23 avatar kid-icarus avatar robert-nix avatar michaelyuan avatar ungoldman avatar samccone avatar thethp avatar fabslab avatar cheshire137 avatar jennschiffer avatar taotetek avatar poswald avatar k88hudson avatar dominictarr avatar ccarruitero avatar brycebaril avatar clarkbw avatar cshirky avatar willkg avatar scglia avatar

Watchers

Jeremy Sarda avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.