You are browsing as a guest. Sign up (or log in) to start making projects!

My First Slack Bot

  • 3 Devlogs
  • 3 Total hours

This bot isn't slacking off, it replies to messages 24/7!

Ship #1 Changes requested

I built Jarvis, an AI Slack bot for the Hack Club workspace that you can @-mention or DM — it chats back with some personality, remembers the conversation, reacts with emoji, and even has real skills like web search, fetching links you share, checking weather in any city, pulling today’s top Hacker News stories, and setting reminders that post right into the thread, plus a few slash commands like /jarvis-ping and /jarvis-joke. The hardest part was getting the AI working: OpenAI had no credits so I migrated the whole thing to Gemini, which meant figuring out a new key format and an OpenAI-compatible endpoint, and discovering the cheapest model isn’t even available to new accounts — plus wiring the agent’s async tool-calling into Slack’s streaming replies while keeping everything testable, which is why there are 48 unit tests with fake clients, a type-checked codebase, clean lint, and a green CI. I’m proud that it’s genuinely polished rather than a demo — every command is jarvis-prefixed so it never collides with the other bots, it has a proper systemd setup for running 24/7 on Nest, and the whole repo is tidy enough that anyone could run it themselves. To test it: invite @Jarvis to any channel in the Hack Club Slack (or DM it) and ask for weather, top stories, a reminder in a few minutes, or paste a link and ask what’s on it — code’s at github.com/Hustlenix/jarvis if you want to see the internals.

Try project → See source code →
Open comments for this post

50m 35s logged

Finally, IG that this project is ready to ship as it is working just fine. But, the problem is that Nest is still pending so i can’t get it to 24/7, and IDK why but the app isnt working so the slash commands are still broken on Slack

0
0
13
Open comments for this post

1h 52m 46s logged

Learning before building really helped me do it ASAP. To make this, what I did was — spend my first 20 minutes understanding how Slack bots actually work before writing a single line of code or building it. The pieces turned out to be simpler than I feared: a Slack app created at api.slack.com, Socket Mode (the bot connects over WebSockets, so it needs no public URL or server), and two tokens — a bot token (xoxb-…) and an app-level token (xapp-…). Once that clicked, everything else was just wiring.
I built it in Node.js with Slack’s official Bolt framework. One command, node index.js, and Jarvis connects to the Hack Club workspace. Then I gave it a personality and some skills:

  • Talk to it — mention @Jarvis or DM it and it replies with AI: concise, friendly, lightly witty
  • It remembers — conversation history per thread, so it can actually follow along
  • It reacts — every message gets a themed emoji reaction
  • 4 slash commands — /jarvis-help, /jarvis-ping, /jarvis-catfact, /jarvis-joke
  • An App Home tab — commands list, online status, and feedback buttons
    The build wasn’t smooth the whole way, and the failures taught me more than the wins:
  1. My OpenAI key had zero credits — first AI reply was a sad 429 You have no credits. I switched to Gemini with a free Google AI Studio key, pointed the SDK at Google’s OpenAI-compatible endpoint, and used gemini-3.1-flash-lite, the cheapest model available to new accounts.
  2. Command collisions — every Slack bot shares the workspace’s slash-command namespace, so I prefixed everything with jarvis- to keep them unique.
  3. “The app did not respond” — my commands were registered in code but not in the app’s config on Slack’s side. Updating the manifest at api.slack.com and reinstalling the app fixed it. Classic config-vs-code mismatch.
  4. Repo hygiene — I renamed the entry file to index.js, deleted template leftovers, and squashed the git history into one clean “Initial commit”.
    Staying alive 24/7: I cloned the repo onto Hack Club Nest, wrote a systemd service (restarts on crash and on reboot), and enabled it. Jarvis now stays online even with my laptop closed — plus an optional GitHub Action redeploys it on every push.
    Quality check: 28 passing tests, lint and typecheck clean.
    Jarvis is live in #bot-spam right now. Say hi — or try /jarvis-joke and watch it bomb on purpose.
0
0
4
Open comments for this post

0s logged

Spent the last hour last hour learning about slack bot and now i am training and building it in real life. I googled slack bot and a random guy said that hell tech me it and now I am here

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…