zulip / python-zulip-api

Python library for the Zulip API.
https://zulip.com/api/
Apache License 2.0
350 stars 352 forks source link

Slack Bridge: Discontinuation of classic Slack App #825

Open PieterCK opened 1 month ago

PieterCK commented 1 month ago

:page_facing_up: Overview

Slack is discontinuing its classic Slack app. On June 4 2024, user won't be able to create the classic Slack app anymore.

This issue will highlight how this change will impact our "real-time slack mirror" feature, specifically bridge_with_slack.py and any relevant files.

Relevant links: Discontinuing new creation of Classic Slack apps and legacy custom integration bot users

Slack Migration Guide

CZO discussion: here.

:warning: Impacted Area

In summary, any ongoing mirrors using bridge_with_slack on a classic Slack app should continue to work. However, users won't be able to create new mirrors once the class Slack app has been discontinued because it uses RTM API. It is highly recommended by Slack to migrate to Socket Mode API.

see list of available API: slack_sdk

#### `bridge_with_slack.py` > If you're still using the RTM API, it means you haven't migrated to modern Slack apps yet, which don't support the RTM API. https://api.slack.com/changelog/2021-10-rtm-start-to-stop#events-sockets ![image](https://github.com/zulip/python-zulip-api/assets/108744694/bcc31a6c-180d-460f-851b-4970cb099195) --- ![image](https://github.com/zulip/python-zulip-api/assets/108744694/6a451ce9-7d61-4ff1-bdbf-d23e4c4739a3) One recommended fix that seems to be the easiest is to just migrate to `rtm.connect`. However, RTM API itself must be configured using a classic Slack app. This means after June 4 2024, new Slack users won't be able to use our `bridge_with_slack` even when we've migrated to `rtm.connect` from `rtm.start`. ![image](https://github.com/zulip/python-zulip-api/assets/108744694/95b52caa-9f7b-43f9-9aad-34055102bf5d) On the other hand, migrating to the recommended [Socket Mode](https://slack.dev/python-slack-sdk/socket-mode/index.html) would likely require overhauling most of `bridge_with_slack.py`. However, this approach is more future-proof and allows the possibility to expand `bridge_with_slack` with more features provided by the Socket Mode API and other features down the line.
#### Documentation Right now it's still pointing the user to create the classic Slack app. ![image](https://github.com/zulip/python-zulip-api/assets/108744694/fbf837be-f9bb-4360-a8b6-8137bc6ca2f8)
zulipbot commented 4 weeks ago

Hello @PieterCK!

Thanks for your interest in Zulip! You have attempted to claim an issue without the label "help wanted". You can only claim and submit pull requests for issues with the help wanted label.

If this is your first time here, we recommend reading our guide for new contributors before getting started.

zulipbot commented 4 weeks ago

Welcome to Zulip, @PieterCK! We just sent you an invite to collaborate on this repository at https://github.com/zulip/python-zulip-api/invitations. Please accept this invite in order to claim this issue and begin a fun, rewarding experience contributing to Zulip!

Here's some tips to get you off to a good start:

As you work on this issue, you'll also want to refer to the Zulip code contribution guide, as well as the rest of the developer documentation on that site.

See you on the other side (that is, the pull request side)!