Skip to content

Releases: ImperialLabs/slapi

Exec Rework, Better Help, and Bug Fixes

10 Jul 20:10
Compare
Choose a tag to compare

Full Changelog

Implemented enhancements:

Fixed bugs:

Closed issues:

  • Propose common error codes and messages #7
  • Create plugin swagger config #4

0.1.1 (2017-06-07)

Full Changelog

Fixed bugs:

  • Plugin Loading: Merge Arrays within Hashes #57
  • Fix i-57 #58 (TheFynx)

Closed issues:

  • Help: Built in Functions Help #52
  • Help: Add Description to Main Level Plugin Listing #51

Merged pull requests:

0.1.0 (2017-03-28)

Full Changelog

Closed issues:

  • Plugin: Build Dockerfile #49
  • Plugin Type: API #24

Merged pull requests:

Bug Fixes and Better Help

07 Jun 22:11
Compare
Choose a tag to compare

Full Changelog

Fixed bugs:

  • Plugin Loading: Merge Arrays within Hashes #57
  • Fix i-57 #58 (TheFynx)

Closed issues:

  • Help: Built in Functions Help #52
  • Help: Add Description to Main Level Plugin Listing #51

Merged pull requests:

Slapi - Initial Release

28 Mar 22:13
Compare
Choose a tag to compare

Slapi

This is the MVP release of our Docker based bot. This bot is built with the idea that anything in a container or an API can be a plugin.

This is our idea of how a bot should be, the language you use shouldn't matter.

See README on how to get started quickly.

API

SLAPI has several API endpoints available to plugins and/or applications.

See more in depth documentation here

  • Chat:
    • Speak: Simple post to chat options
    • Attachment: Formatted Data posted to chat (Title, Text)
    • Emote: Post to chat as emote
    • Ping: receive a pong
  • Brain:
    • Save: Save data into bot brain
    • Delete: Delete data from bot brain
    • Query_Key: Search for a key value in bot brain
    • Query Hash: Search for all keys in bot brain, each plugin has it's own hash
  • Plugin:
    • Reload: Can call a reload of plugins without restarting the bot. Update you plugin right from chat!

Brain

Slapi utilizes Redis for the bot brain.

Brain is only accessible via API for plugins in this phase, eventually bot config and even plugin config may be pushed into the brain.

See more in depth documentation here

Plugins

Slapi has 3 different types of plugin options.

See more in depth documentation here

  • Script:
    • Allows just utilizing a simple script as a plugin
    • Currently supports the following languages: Shell/Bash, Ruby, Python, NodeJS
    • Has two data options
      • Simple: passes the hello world from @bot say hello world to container as exec
      • All: passes the entire json blob to container as exec.
  • Container:
    • Allows the use of any language or app that can run in docker on linux
    • Has two data options
      • Simple: passes the hello world from @bot say hello world to container as exec
      • All: passes the entire json blob to container as exec.
  • API:
    • Allows use of anything that can be called by API
    • Requires to specific endpoints for Slapi
      • Info Endpoint: Provide the data to build the bot help
      • Command Endpoint: Configurable endpoint for Slapi to post a json payload to with all the information from slack

MVP Lite

11 Mar 04:28
Compare
Choose a tag to compare
MVP Lite Pre-release
Pre-release

90% MVP Solution

Missing:

  • API Plugin Capability

Included:

  • Script Type Plugins

    • Supported Languages
      • Shell
      • Ruby
      • NodeJS
      • Python
  • Container Type Plugins

    • Supported Langauges
      • Whatever you can run in docker
  • Brain for storing Hash { key: value }

    • Accessed via API Docs
  • Chat API for External Plugins

  • Complete Refactor of Code

    • Actual rspec tests
    • Cleaner and more readable code

First Container/Running Release

02 Dec 23:59
Compare
Choose a tag to compare
Pre-release

This marks the first build of SLAPI which will enable you to install the bot, run it in slack, interact at a basic level (aka @bot ping), and write basic script or container based plugins.

Please see readme for any specifics and https://imperiallabs.github.io/plugins_landing.html for seeing how to do Script or Container based plugins. (Also look at the https://github.com/ImperialLabs/slapi/tree/master/examples for most up to date configs)