JSPM

  • Created
  • Published
  • Downloads 52
  • Score
    100M100P100Q59549F
  • License MIT

Set of slack helper functions

Package Exports

  • slack-utility
  • slack-utility/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (slack-utility) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

license npm version

slack-utility


    .d8888. db       .d8b.   .o88b. db   dD        db    db d888888b d888888b db      d888888b d888888b db    db 
    88'  YP 88      d8' `8b d8P  Y8 88 ,8P'        88    88 `~~88~~'   `88'   88        `88'   `~~88~~' `8b  d8' 
    `8bo.   88      88ooo88 8P      88,8P          88    88    88       88    88         88       88     `8bd8'  
      `Y8b. 88      88~~~88 8b      88`8b   C8888D 88    88    88       88    88         88       88       88    
    db   8D 88booo. 88   88 Y8b  d8 88 `88.        88b  d88    88      .88.   88booo.   .88.      88       88    
    `8888Y' Y88888P YP   YP  `Y88P' YP   YD        ~Y8888P'    YP    Y888888P Y88888P Y888888P    YP       YP    

Installation

npm install slack-utility

or

yarn add slack-utility

Directories

This package export 3 main objects

  • actions : A collection of general purpose actions to be trigger by slash commands, interactivity, events or input actions.
  • slackBuilder : A collection of helper functions to build different components of slack blocks messages.
  • slackUtils : A collection of function to perform a call to the slack API with this package context or retrieving context information from a slack request.

Usage

import  { slackUtils, slackBuilder, actions } from 'slack-utility'
const { slackUtils, slackBuilder, actions } = require('slack-utility');

Actions

  • addressBook : Show all the contract available on the selected network
  • app_home_opened : Trigger when a user open the app home. (if enable in slack app configuration)
  • build_call_from_abi :
  • delete_msg : Action triggered when a user click on the delete button.
  • error : Trigger when an error occur. (can be trigger by any action)
  • explorer : Show information on the blockchain selected
  • query_all_events :
  • query_contract_calls :
  • query_contract_events :
  • query_contract_for_env :
  • query_event_details :
  • send_call_from_abi :
  • settings_abis :
  • settings_abis_add :
  • settings_apiKeys :
  • settings_apiKeys_add :
  • settings_app :
  • settings_command :
  • settings_commands_add :
  • settings_contracts :
  • settings_contracts_add :
  • settings_networks :
  • settings_networks_add :
  • settings_signers :
  • settings_signers_add :
  • settings_save : General purpose action to save the settings. (can be trigger by any settings action)
  • settings_validate : General purpose action to validate the settings. (can be trigger by any settings action)
  • settings : Trigger when a user click on the settings button or use /settings command.
  • update_msg :

SlackBuilder

  • addDeleteButton : Return a slack button to delete a message when provided with a action message block and message id.
  • addRefreshButton : Return a slack button to refresh a message when provided with a action message block and message id.
  • addSettingButton : Return a slack button to open the settings when provided with a action message block.
  • buildLinkSlackButton : Return a link button to open a link in the browser.
  • buildEtherscanLinkSlackButton : Return a link button to open a blockchain explorer link in the browser.
  • buildSimpleSlackButton : Return a simple slack button to trigger an action.
  • buildSimpleSlackHeaderMsg : Return a simple slack header message. (only 1 per message)
  • buildSimpleSlackOptions : Return options for a select menu.
  • buildSimpleSlackOption : Return a simple option for a select menu.
  • buildSimpleSectionMsg : Return a simple slack section message. (most used for text)
  • buildSimpleSlackSelection : Return a simple select menu.
  • buildSlackActionMsg : Return the action message block. (used to add buttons to a message)
  • buildSlackContractSelection : Return a select menu to select a contract. (build from the env pass to the function)
  • buildSlackNetworkSelection : Return a select menu to select a network. (build from the env pass to the function)
  • buildSlackNumberInput : Return a number input.
  • buildSlackPlainTextInput : Return a plain text input.
  • buildSlackDatePicker : Return a date picker.
  • buildSlackDateTimePicker : Return a date & time picker.
  • buildSlackInput : Return a input block.
  • buildSlackModal : Return a modal view.
  • buildSlackMultilineInput : Return a multiline input.
  • buildSlackTimePicker : Return a time picker.
  • buildSlackUrlInput : Return a url input.

SlackUtils

  • actionsLoop : Parse the action to run and then post a slack message or update a message is messageBlock has some object

  • callerSettings : Retrieve and build settings with env settings, team settings and user settings

  • commandsLoop : Parse the slack slash command and trigger the right action with extra context possible to inject

  • retrieveEnvironment : Retrieve the network and contract selected in the dropdown or pass on from previous interaction

  • retrieveEvent : Parse events (txHash) selected from events result dropdown

  • retrieveModule : Parse extra modules that can be added in the contract selection dropdown

  • retrieveTeamSettings : Retrieve team settings if any is save on the db and this module is enable

  • retrieveUserSettings : Retrieve user settings if any is save on the db and this module is enable

  • setupContractAndNetwork : Return contract, abi, network and other object to use in your actions

  • setupContractNetworkAndSigner : Return contract instance, signer, contract, abi, network and other object to use in your actions

  • setupNetwork : Return provider, explorer, chainName and other object to use in your actions

  • slackEndpoint : Main endpoint to import to run a Slack App

  • slackDeleteMessage : Delete a message send by this slack app

  • slackOpenView :

  • slackPostEphemeralMessage : Post a private message to the slack api and append the action block (or create one) with delete, settings and refresh buttons (if enable)

  • slackPostMessage : Post a message to the slack api and append the action block (or create one) with delete, settings and refresh buttons (if enable)

  • slackPostWaitMessage : Post a waiting message, to be updated later on in your action with the result of a long async call

  • slackPublishView :

  • slackPushView :

  • slackUpdateMessage : Update a message to the slack api and append the action block (or create one) with delete, settings and refresh buttons (if enable)

  • slackUpdateView :

Directory Tree

slack-utility/
│   .eslintrc.js
│   .npmignore
│   .prettierignore
│   .prettierrc
│   CONTRIBUTING.md
│   LICENSE
│   README.md
│   awesome-readme.config.js
│   package-lock.json
│   package.json
│   tsconfig.json
│   tslint.json
└─── src/
   │   README.md
   │   index.ts
   │   types.ts
   │   utils.ts
   └─── actions/
   └─── slackBuilder/
   └─── slackUtils/

Don't hesitate to contribute to this project.