Skip to main content

A Python Slack bot through IPython

Project description

Slack IPython bot 🤯

One Slack bot to rule them all. PyBot. Just send Python code as a message.

PyBot demo

Install

pip install slack-ipython

PyPI

To start the bot, simply run:

slack-ipython

For detailed output, add DEBUG=true as an environment variable.

Create a .env (or set these environment variables yourself).

SLACK_APP_TOKEN="xapp-..."
SLACK_BOT_TOKEN="xoxb-..."
APPROVED_SLACK_MEMBER_IDS="U01LXXXXXX,U01LXXXXXXX"

Security warning: this effectively gives full access to wherever you run this. Make sure you only added Slack member IDs of people you trust.

Configure your Slack app

First create a new Slack app in the Slack app dashboard.

Your Slack app needs to have:

  • [Settings -> Basic Information -> App-Level Tokens]
    • Create a bot token
      • connections:write
    • (Optional) configure app icon.
  • [Settings -> Socket Mode]
    • Socket mode enabled
  • [Features -> App Home]
    • Messages Tab enabled
  • [Features -> App Home -> Show Tabs]
    • "Allow users to send Slash commands and messages from the messages tab" enabled
  • [Features -> OAuth & Permissions -> Scopes]
    • The following OAuth scopes
      • chat:write
      • files:write
      • im:history
      • im:read
      • im:write
  • [Features -> Event Subscriptions]
    • Events enabled
    • Subscribed to bot events
      • message.im

Or use the App Manifest slack_app.yaml.

Make sure you install the Slack app in your workspace after configuring the above.

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-ipython-0.0.3.tar.gz (11.7 kB view hashes)

Uploaded Source

Built Distribution

slack_ipython-0.0.3-py3-none-any.whl (12.3 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