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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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