slack-ruby / slack-ruby-client

A Ruby and command-line client for the Slack Web, Real Time Messaging and Event APIs.
MIT License
1.21k stars 214 forks source link

classic Apps and legacy custom bots deprecated after 4th June 2024 #513

Open MarioRuiz opened 5 months ago

MarioRuiz commented 5 months ago

I just got an email from Slack informing that we won't be able to create new classic Slack apps or legacy custom bots, so I guess we will not be able to use RTM, am I correct? And if I understand correctly slack-ruby-client using events is not covering everything we can do with RTM, is there any expected way to solve this?

dblock commented 5 months ago

That's correct, RTM for new bots is DOA. If you're writing a new bot today you should use events (e.g. https://github.com/slack-ruby/slack-ruby-bot-server-events and https://github.com/slack-ruby/slack-ruby-bot-server-events-app-mentions), and use this library for Web API (send messages, etc.). I wrote this about one migration and have more recently migrated https://github.com/dblock/slack-sup2 from https://github.com/dblock/slack-sup, the interesting change is https://github.com/dblock/slack-sup2/commit/c7c761e34d1864c0685f9e45aeb3c244b992b17e.

It's a ton of work for otherwise perfectly working applications. I have half a dozen, so I hate having to rework them. I am not happy Slack is removing support for RTM.

dblock commented 5 months ago

@MarioRuiz it would be nice if someone (you?) could contribute updates to this project code / README about what's being removed/deprecated.

MarioRuiz commented 5 months ago

Thanks for the response @dblock Is it possible when using events that the bot is listening to any message that is written on a channel so can response messages without using Slash (/) commands?

dblock commented 5 months ago

Is it possible when using events that the bot is listening to any message that is written on a channel so can response messages without using Slash (/) commands?

Yes, this is a basic message event (https://api.slack.com/events/message).