// the find
DonDebonair/slack-machine
A simple, yet powerful and extendable Slack bot
Slack Machine is a Python framework for building Slack bots using Socket Mode and the Events API, so your bot doesn't need a public endpoint. It's aimed at teams doing ChatOps who want regex-based command routing and plugin organization without writing the Slack client plumbing themselves.
Socket Mode means no ngrok or public URL required, which removes a real deployment headache for internal bots. The decorator-based plugin API is clean — `@respond_to(r'...')` with named capture groups is the right abstraction level. Storage backends (Redis, DynamoDB, SQLite, in-memory) are swappable via config, so you're not locked into anything on day one. Test coverage is solid: dedicated test suites per handler type with real payload fixtures rather than hand-wavy mocks.
770 stars after what appears to be several years of existence suggests limited adoption — you'll be debugging issues yourself rather than finding StackOverflow answers. The 'Coming Soon: shortcuts' note in the README is a bad sign; Slack shortcuts have existed since 2020 and not having them means you'll hit the ceiling quickly on anything beyond basic commands. No built-in rate limiting or queuing for high-volume workspaces — if your bot gets hammered, you're rolling your own throttling. The async foundation is good but the docs don't address how to run CPU-bound or blocking work without stalling the event loop, which will catch people off guard.