1.0.8 • Published 8 years ago

hubot-skypebots v1.0.8

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

A Skype Bot Api Adapter for Hubot

Build Status npm version

Installation

Configuration

  • SKYPE_BOTS_APP_ID - the Application ID generated in a Microsoft portal
  • SKYPE_BOTS_APP_SECRET - the Application Secret generated in the Microsoft portal
  • SKYPE_BOTS_BOT_ID - a Skype bot ID
  • SKYPE_BOTS_LISTEN_PATH - a web path on your server to listen chat responses/outgoing webhooks. The url should be accessable from the internet.
export SKYPE_BOTS_APP_ID=111111111-aaaa-bbbb-cccc-222222222222
export SKYPE_BOTS_APP_SECRET=secret_secret
export SKYPE_BOTS_BOT_ID=28:xxxxxxx-aaaa-bbbb-cccc-zzzzzzzzzzzz
export SKYPE_BOTS_LISTEN_PATH=/skype
`bin/hubot -a skypebots`

Encoding html entities

By default html entities "<",">" and "&" are escaped. To disable this behaviour you can set a property 'envelope.escape' to false. Bear in mind that Skype doesn't allow some html tags and silently ignores messages with unclosed tags.

  robot.respond /small/i, (res) ->
    html = "<font size=\"15\">It's small</font>"
    res.send html
  robot.respond /big/i, (res) ->
    res.envelope.escape = false
    html = "<font size=\"15\">It's big</font>"
    res.send html

Send files

Attachments can be send using Skype Bot Api. Supported types 'Images', 'Videos' and 'Files'. To send attachment you need to emit a 'skype:sendAttachment' event with params:

  • user - a User object
  • attachmentName - File/Image/Video name
  • attachmentType - a type of a data content (File, Image or Video)
  • originalStream - a nodejs stream of the data content
  • thumbnailStream - (optional) nodejs stream of a video thumbnail content. Used only by Video type. Videos thumbnails should be JPEG

Send File

robot.respond /get settings/i, (res) ->
    user = res.envelope.user
    originalStream = fs.createReadStream("files/settings.json")
    robot.emit 'skype:sendAttachment', user, 'settings.json', 'FILE',  originalStream

Send Image

robot.respond /get image with funny cats/i, (res) ->
    user = res.envelope.user
    originalStream = fs.createReadStream("files/funny_cats.jpg")
    robot.emit 'skype:sendAttachment', user, 'funny_cats.jpg', 'Image',  originalStream

Send Video

robot.respond /get epic fail video/i, (res) ->
    user = res.envelope.user
    originalStream = fs.createReadStream("files/epic_fail.mp4")
    thumbnailStream = fs.createReadStream("files/thumbnail-epic_fail.jpg")
    robot.emit 'skype:sendAttachment', user, 'epic_fail.mp4', 'Video',  originalStream, thumbnailStream

Receive File

Attachments can be received using Skype Bot Api. When SkypeBots adapter receive a new attachment it emit a 'skype:attachment' with params

  • user - a User object
  • attachmentName - File/Image/Video name
  • attachmentType - a type of a data content (File, Image or Video)
  • attachmentStream - a nodejs stream of a data content
robot.on 'skype:attachment', (user, attachmentName, attachmentType, attachmentStream) ->
    robot.logger.info "Revceived attachment #{attachmentName} of type #{attachmentType} from #{user.id} in room #{user.room}"
    attachmentStream.pipe(fs.createWriteStream("files/#{attachmentName}"))
1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago