Chatrooms - Bots

DRAFT

Scope

To define the needs for an individual user to see the status of other users via the APIs up to parity with the capabilites in the Symphony Platform.

Collaborators

TBD

Working Examples

Listen to webhooks and send messages

Actions

  1. External system invokes HTTP post with relevant payload
  2. hubot bot account receives payload
  3. hubot bot account reacts with MessageML containing summary of payload, either to a chat room or direct message

See sample hubot script: https://github.com/symphonyoss/hubot-symphony#non-standard-messaging

REST endpoints

  • /agent/v2/stream/${streamId}/message/create
  • /pod/v2/user?email=${emailAddress}&local=true
  • /pod/v1/im/create

Bot code logs in, handler code can message to a known room or search for a user given an identifier such as email address and create a direct message stream to that user

Listen and respond to simple commands

Actions

  1. User invites hubot bot account to chat room or initiates a stream with hubot bot account
  2. User types `hubot pug me`
  3. hubot bot account receives MessageML containing text `hubot pug me` and issues HTTP get to http://pugme.herokuapp.com/random
  4. hubot bot account responds with MessageML containing a URL to a picture of a pug

See sample hubot script : https://github.com/symphonyoss/hubot-symphony#non-standard-messaging

REST endpoints

  • /agent/v1/datafeed/create
  • /agent/v2/datafeed/${datafeedId}/read
  • /pod/v2/user?uid=${userId}&local=true
  • /agent/v2/stream/${streamId}/message/create

Bot code logs in, creates a datafeed and continuously polls it, checks all incoming messages and dispatches to handler code with user details if appropriate, handler code can respond to originating stream

Deliverable(s)

TBD


Timeline

TBD

Need help? Email help@finos.org we'll get back to you.

Content on this page is licensed under the CC BY 4.0 license.
Code on this page is licensed under the Apache 2.0 license.