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

The Little Austronaut

  • 1 Devlogs
  • 1 Total hours

Replying from space 24/7

Ship #1 Pending review

The Little Austronaut is a modular Slack bot that brings fun to your workspace. Hit /dsb-ping to check latency, /dsb-catfact for random cat facts, /dsb-joke for laughs, or /dsb-help to see what's available.

What makes it clean:

Each slash command is its own class — super easy to add new ones.
Smart error handling that doesn't break the bot or spam users with stack traces.
Dynamic help that always knows what commands exist.
Consistent ack / respond pattern throughout.
Why you should care:
Built this to show how to structure a Slack bot without spaghetti code. Commands are modular, errors are handled gracefully, and adding new features takes minutes, not hours. Perfect starter template for anyone building Slack bots.

Tech: Node.js, Slack Bolt, Axios, Socket Mode.

To run it: Grab your Slack bot and app tokens, drop them in .env, run npm start, and start slashing.

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

34m 29s logged

Hi There,

Finished the Stardance Slack Bot,

Did a little cleanup, moved each slash command into its own class under commands.

Made a BaseCommand so they all behave the same and don’t scream at errors.

Pulled the registration logic out of index.js and now it just loads and registers the command objects. Now way cleaner and less spaghetti.

Wrote (thanks gpt) a tiny README.md so whoever clones this isn’t lost at 2am.

I tweaked the command logic compared to the tutorial.

Thanks for reading :)

Hi There,

Finished the Stardance Slack Bot,

Did a little cleanup, moved each slash command into its own class under commands.

Made a BaseCommand so they all behave the same and don’t scream at errors.

Pulled the registration logic out of index.js and now it just loads and registers the command objects. Now way cleaner and less spaghetti.

Wrote (thanks gpt) a tiny README.md so whoever clones this isn’t lost at 2am.

I tweaked the command logic compared to the tutorial.

Thanks for reading :)

Replying to @babali

0
3

Followers

Loading…