← Projects

Slackbot: Monitoring Messages

A central Go service for posting Slack messages and tracking them to resolution via emoji reactions — one place instead of the same code in every job.

  • Role: Author
  • Year: 2023
  • Stack: Go, Slack API, Docker

Grew out of the Azure DevOps PR monitor: instead of every job duplicating the “post a message and watch it” logic, this is one service that owns it.

How it works

Send it a payload:

{
  "message": "Message",
  "channel": "C05Q0F85EGZ",
  "mentions": ["UD1QZGTSS"],
  "reminderIntervals": 2
}

It posts the message, then polls for reactions: a configurable “reviewing” emoji marks it in progress, an “approval” emoji marks it resolved. Emojis and the default check interval are set in config.json, and any single message can override the interval. Needs the reactions:read and emoji:read Slack scopes. Runs in Docker.