I built TermoSlack, a fully terminal-based Slack client written in Node.js, with real-time updates using Socket Mode and OAuth user login.
Why I built it - good question! ================================ Can be several answers: 1) uses way less ram than original slack client 2) doesn't require electron 3) very fast ngl and more more...
What features are in there ??? ================================ --Real-time Slack messages via Socket Mode (xapp + xoxb)
--User login with OAuth (no shared bot identity)
--Multiple workspaces
--Channel list, message view, message sending
--Terminal UI built with neo-blessed
--Works fully offline besides Slack API calls
--Packaged as a single Windows/Linux executable
What I used to build this project ?? ==================================== --Node.js (ESM)
--@slack/web-api & @slack/socket-mode
--neo-blessed TUI
--express (local OAuth callback server)
--pkg (for producing a standalone executable)
Earlier I was thinking python to implement this but I switched over to node.js as it would make this project more challenging
Work in progress: ================= --DMs + private channels
--Threaded conversations
--Message reactions
--File uploads
--User presence indicators
--Keybindings
--Multi-workspace switching
--Custom Themes
Your feedback will be precious to me and for my project. I would love to hear your feedback for improving this project more and more !
Thanks HN
github link : github.com/adhyys07/TermoSlack