Skip to main content

Copy the contents of a Slack thread.

Project description

SlackClipper

Copy the contents of a Slack thread.


Description

Great conversations happen in Slack. But once the conversation is over, how do you use what you've learned? You could rely on your memory, so your precious insights are as easy to find as your car keys. Or you could extract the content and store it in your favourite knowledge-management system, like Notion, Confluence, Obsidian or JIRA.

Unfortunately, when it comes to sharing data, Slack is pretty stubborn. Simply highlighting the text of a thread and copying it results in mostly garbage. If all your Slack administrators are similarly motivated, they might have installed third-party apps that tie into a corporate workflow.

So what if you just want the text of a Slack thread your way? You need slackclipper.

slackclipper uses your personal Slack account to copy the text you want in the format you prefer. Want to add a discussion to a JIRA issue? Store some golden knowledge in Obsidian? Reference some colleagues in your Notion? slackclipper enables it all. Simply provide it the thread you want to clip and it will return the content, formatted ready for its new life.

By default the clipped content will be neatly formatted in Markdown. But the data is yours! Customise the format, or even export to any format with an API. Prefer PDF, or Google Docs or even dictated audio? Go for it!

This project is not endorsed or authorised in any way by Slack Technologies LLC.

Installation

pip install slackclipper

This will install the slackclipper library for advanced use within Python, but also installs a convenience executable by the same name, so you can run it directly from the command line.

Usage

  1. Copy the link to the thread in Slack. Screenshot of "Copy link" in Slack
  2. Run slackclipper in your Terminal. Screencast of "slackclipper" in Terminal
  3. Paste the result into the destination of your choice. Screenshot of content pasted into MacDown

Extracting Slack Credentials

When slackclipper is run for the first time, it will attempt to extract your Slack credentials using slacktokens. You may be prompted for your password.

If extraction is successful, these credentials will be stored (in ~/.config/slackclipper/) for future use. To replace the store with freshly extracted credentials, run slackclipper with the -u or -update-credentials flag.


Shortcomings

  • slackclipper relies on slacktokens to extract your Slack credentials. slacktokens currently only supports macOS and Linux.
    • If credentials extraction fails for this or any other reason, credentials can be provided manually using Python like so:

       >>> from slackclipper import update_credentials_store
       >>> update_credentials_store(creds) # where "creds" is in the format produced by slacktokens
      
  • Message authors are given as a user ID. This is easy to improve by doing a user lookup to turn them into a useful name.
  • Timestamps are not yet included in the output. Just need to come up with a suitable format.
  • Some things aren't formatted well. For example:
    • links are oddly formatted;
    • mentions and emoticons aren’t;
    • and multimedia won’t come through well.
  • Only exports in MarkDown format for now.

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

slackclipper-0.3.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

slackclipper-0.3.0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file slackclipper-0.3.0.tar.gz.

File metadata

  • Download URL: slackclipper-0.3.0.tar.gz
  • Upload date:
  • Size: 18.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for slackclipper-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c52341d30759989aafddb5531cad6fd5b5b2498ec4858c8b6ea234fc32536f16
MD5 8545c3a8a812e421c6de243cb295c7c7
BLAKE2b-256 8521828cbe3686e346aa97d088b0a2f9466dcce929026cc6c77b1e7eff3c6a7c

See more details on using hashes here.

File details

Details for the file slackclipper-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for slackclipper-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec6b3d0d84e987037adc9506a9ab881ea83dc60874485cb68e367b0ab967c3c7
MD5 8db31feb271ec471b0309e2b58073f54
BLAKE2b-256 d147c5001bba441d27638279da4171fa045efa03ebee7ebc5d7bd43efedc3adb

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