Skip to main content

Primitive Slack CLI

Project description

slack-primitive-cli

Build Status PyPI version Python Versions

slack-primitive-cli can execute Slack web api methods from command line. Command line argument is correspont to web api arguments, so slack-primitive-cli is primitive.

Requirements

  • Python 3.7+

Install

$ pip install slack-primitive-cli

https://pypi.org/project/slack-primitive-cli/

Usage

Sending a message

$ slackcli chat.postMessage --token xoxb-XXXXXXX --channel "#random" --text hello

$ export SLACK_API_TOKEN=xoxb-XXXXXXX
$ slackcli chat.postMessage  --channel "#random" --text hello
$ slackcli chat.postMessage --help

Usage: slackcli chat.postMessage [OPTIONS]

  Sends a message to a channel. See
  https://api.slack.com/methods/chat.postMessage

Options:
  --token TEXT               Authentication token. If not specified, refer
                             `SLACK_API_TOKEN` environment variable.
                             [required]

  --channel TEXT             Channel, private group, or IM channel to send
                             message to. Can be an encoded ID, or a name. See
                             below for more details.  [required]

  --text TEXT                How this field works and whether it is required
                             depends on other fields you use in your API call.
                             [required]

  --as_user BOOLEAN          Pass true to post the message as the authed user,
                             instead of as a bot.

  --attachments TEXT         A JSON-based array of structured attachments,
                             presented as a URL-encoded string.

  --blocks TEXT              A JSON-based array of structured blocks,
                             presented as a URL-encoded string.

  --icon_emoji TEXT          Emoji to use as the icon for this message.
                             Overrides icon_url. Must be used in conjunction
                             with as_user set to false, otherwise ignored. See
                             authorship below.

  --icon_url TEXT            URL to an image to use as the icon for this
                             message. Must be used in conjunction with as_user
                             set to false, otherwise ignored. See authorship
                             below.

  --link_names BOOLEAN       Find and link channel names and usernames.
  --mrkdwn BOOLEAN           Disable Slack markup parsing by setting to false.
  --parse BOOLEAN            Change how messages are treated.
  --reply_broadcast BOOLEAN  Used in conjunction with thread_ts and indicates
                             whether reply should be made visible to everyone
                             in the channel or conversation.

  --thread_ts TEXT           Provide another message's ts value to make this
                             message a reply. Avoid using a reply's ts value;
                             use its parent instead.

  --unfurl_links BOOLEAN     Pass true to enable unfurling of primarily text-
                             based content.

  --unfurl_media BOOLEAN     Pass false to disable unfurling of media content.
  --username TEXT            Set your bot's user name. Must be used in
                             conjunction with as_user set to false, otherwise
                             ignored.

  --help                     Show this message and exit.

Uploading files

$ slackcli files.upload --channels "#random" --file foo.txt
$ slackcli files.upload  --help
Usage: slackcli files.upload [OPTIONS]

  Uploads or creates a file. See https://api.slack.com/methods/files.upload

Options:
  --token TEXT                    Authentication token. If not specified,
                                  refer `SLACK_API_TOKEN` environment
                                  variable.  [required]

  --channels TEXT                 Comma-separated list of channel names or IDs
                                  where the file will be shared.  [required]

  File contents: [mutually_exclusive, required]
    --file TEXT                   File contents via multipart/form-data. If
                                  omitting this parameter, you must submit
                                  content.

    --content TEXT                File contents via a POST variable. If
                                  omitting this parameter, you must provide a
                                  file.

  --filename TEXT                 Filename of file.
  --filetype TEXT                 A file type identifier. See also
                                  https://api.slack.com/types/file#file_types
                                  .

  --initial_comment TEXT          The message text introducing the file in
                                  specified channels.

  --thread_ts TEXT                Provide another message's ts value to upload
                                  this file as a reply.

  --title TEXT                    Title of file.

Supported web api methods.

slack-primitive-cli supports a few web api methods.

Additional

Shell Completion

slack-primitive-cli depends on click, so slack-primitive-cli can provide tab completion. Bash, Zsh, and Fish are supported

In order to activate shell completion, you need to execute the following script.

$ eval "$(_SLACKCLI_COMPLETE=source slackcli)"

See here for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slack_primitive_cli-0.2.1.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

slack_primitive_cli-0.2.1-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file slack_primitive_cli-0.2.1.tar.gz.

File metadata

  • Download URL: slack_primitive_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.10.11 Linux/5.15.0-1037-azure

File hashes

Hashes for slack_primitive_cli-0.2.1.tar.gz
Algorithm Hash digest
SHA256 303e70281d3f1936f8acd778fa205d8bad75fbc6d1efb53f4c168377d636593f
MD5 bfa2ed8c4b559e33d64c444fd0a1e473
BLAKE2b-256 06c55528e891765c0489eeb0f4d0c4f533918a8833be7281542d3898b023700f

See more details on using hashes here.

File details

Details for the file slack_primitive_cli-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for slack_primitive_cli-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d36e122b964b573f42c6d59372be7dd27fa7a1003a8cf4d824bd6fce4429850
MD5 effc1481ef086ebe5b019faac19a8343
BLAKE2b-256 7b42e3fe907f328fedcc8f3139cb8731ca57806763d29c0b3129794ed5f8ba06

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page