avaidyam / Parrot

The next generation messenger.
http://avaidyam.github.io/Parrot/
Mozilla Public License 2.0
319 stars 28 forks source link

Finalize a framework-facing service API #18

Closed avaidyam closed 6 years ago

avaidyam commented 8 years ago

Currently, Parrot is essentially hard-wired into using the Hangouts framework. This isn't good for extensibility or multi-service support in the future.

Instead, finalize a service API that can abstract away a chat service (i.e. Hangouts, XMPP, Whatsapp, Facebook, Telegram, etc) into a high-level container.

This will mean additional feature support has to be declared in capabilities defined by the service as well (and XMPP already follows a similar model for its server interaction).

Service Interface:

- directory/users:
    - full name
    - image
    - presence
        - on/off/away
        - last seen
        - mood emoji
        - status msg
    - timezone
- conversations:
    - direct message
    - groups
        - labeled/unlabeled
        - public/private
        - convo purpose, topic (slack!)
- messages:
    - timestamp
    - mentions (@xyz)
    - bold, italic, underline, strikethrough
    - emoji, stickers
    - send data:
        - photos, videos, audio
        - files, links
        - snippets, posts (Slack?)
    - reaction emoji (slack!)
    - pinned, starred (slack!)
    - edit message (slack!)
avaidyam commented 6 years ago

Currently exists!