Skip to main content

Make Slack channels read-only by restricting which users can post to them

Project description

Slack read-only bot

Manage your Slack community by making read-only channels. Only admins can post to read-only channels, other users' messages get deleted and the user gets a message from the bot.

Setup

Create the Bot

  1. Create a new classic Slack app for your workspace at https://api.slack.com/apps?new_classic_app=1 .
  2. Click App Home, click the Add Legacy Bot User button, and give your bot a username and name.
  3. Click OAuth & Permissions . Under Scopes click Add an OAuth Scope and add the following scopes:
    • bot - Allow users to interact with the bot (needed to message users)
    • chat:write:bot - Allow deleting user messages
  4. On the same page click on the Install App to Workspace button and authorize it to connect to your workspace. Note that the account that authorizes the bot must be able to delete the messages of other users. This is usually just the workspace owner/admin.
  5. Back on the OAuth & Permissions page, copy the two access tokens (one should start with xoxp- and the other with xoxb-).
  6. Invite the bot to all the channels you want to make read-only.

Run the bot

  1. Install the bot using pip (pip install git+https://github.com/pR0Ps/slack-read-only-bot)
  2. Create a config file based on the following example:
app_token: xoxp-...
bot_token: xoxb-...
delete_msg: The channel you just posted to is read-only, only admins can post to it.
admins:
  - admin1
  - admin2
channels:
  - channel1
  - channel2
  1. Run slack-read-only-bot --config <path to file> to run the bot and test that it works as expected.
  2. [optional] Configure your system to run slack-read-only-bot as a service using something like systemd to ensure that it runs at startup, restarts if it crashes, etc. See slack-read-only-bot.service for an example/template.

Credits

Based on https://github.com/rokcarl/slack-read-only-bot

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-read-only-bot-1.0.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

slack_read_only_bot-1.0.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file slack-read-only-bot-1.0.0.tar.gz.

File metadata

  • Download URL: slack-read-only-bot-1.0.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.9

File hashes

Hashes for slack-read-only-bot-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2fe99997329bd2c46243716e641232f1b3165fe4702923192812a0864c5a6ed7
MD5 f8a8ace91b0b756ea856fb2c65fef102
BLAKE2b-256 ae7110c4a6d655f559c9c4e9ade3229a24770f9ac0d6bb040e9d4a0081c04b48

See more details on using hashes here.

File details

Details for the file slack_read_only_bot-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for slack_read_only_bot-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 580e36acfc4edde1e176a48c4aef962b71a2256adbb283b7861a525b2d185cfd
MD5 f36a4cc56be617c9186c105303b915e2
BLAKE2b-256 5ffaccc862567cbae241114bfed025997f697a1c48afa39965edaef59b149dda

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