Prometheus is known for stealing fire from the gods and giving it to humanity.
Prometheus is a Slack bot that lets community members take responsibility for keeping high traffic channels tidy and welcoming. More details about why this exists in the Slacker News article: Prometheus Brings Users More Powers to Improve Slack.
Message shortcuts (right-click → Message shortcuts):
- Delete Message: instantly removes a message
- Destroy Thread: nukes an entire thread; hides it via Slack's moderation API if possible
- Clear Embeds: strips link previews from a message
Slash commands (invoked via /pro <subcommand>):
| Command | Who | What it does |
|---|---|---|
ping |
Everyone | Check if the bot is alive |
info [@user] |
Everyone | Look up info about a Slack user |
coin |
Everyone | Flip a coin |
help |
Everyone | Show available commands |
here <message> |
Moderators | Ping all online members in the channel |
channel <message> |
Moderators | Ping everyone in the channel |
timeout @user [duration] reason |
Moderators | Time out a user from the channel |
untimeout @user |
Moderators | Remove a timeout |
welcome [set|remove|view] |
Managers | Manage the channel welcome message |
channelmanager add|remove|list [@user] [manager] |
Admins | Appoint/remove moderators and managers |
admin add|remove|list [@user] |
Global admins | Manage global admins |
Permission roles:
- Global admin: seeded from
SUPERADMINS. - Workspace admin: inherited from Slack
- Channel manager: appointed per-channel; can delete, destroy, set welcome messages
- Channel moderator: appointed per-channel; can timeout, @here, @channel
- Clone the repo.
- Create a Slack app from
slack.manifest.yaml. - Install/reinstall the app to your workspace so all scopes are granted.
- Create an app-level token with
connections:write(for Socket Mode!). - Fill out your
.env, check the.env.examplefor reference. Here's a bit more detailed rundown of what to expect
| Variable | Required | Purpose |
|---|---|---|
SLACK_BOT_TOKEN |
Yes | Bot User OAuth Token (xoxb) for posting messages |
SLACK_USER_TOKEN |
Yes | User OAuth Token (xoxp) workspace admin account, used for deletion and admin APIs |
SLACK_APP_TOKEN |
Yes | App-Level Token (xapp) with connections:write for Socket Mode |
SLACK_SIGNING_SECRET |
Yes | Signing secret from app settings |
SUPERADMINS |
Yes | Comma-separated Slack user IDs seeded as global admins (e.g. U12345678,U87654321) |
LOG_CHANNEL |
No | Channel ID for private audit logs which includes full message content and CDN transcripts |
PUBLIC_LOG_CHANNEL |
No | Channel ID for public audit logs which are redacted, shows only who did what in which channel |
HACKCLUB_CDN_KEY |
No | CDN API key for archiving deleted thread archives to the HC CDN |
SLACK_BROWSER_TOKEN |
No | Browser token (xoxc) for Slack's undocumented moderation APIs (eg thread hiding) |
SLACK_COOKIE |
No | Session cookie (d= value) paired with SLACK_BROWSER_TOKEN |
- Run it:
bun install
bun startYou should see two new message shortcuts in Slack:
Deleting a message has no confirmation. Destroying a thread shows a confirmation modal to prevent misinputs:
See LICENSE for the legal mumbo jumbo.
