DEV Community

Michael Lip
Michael Lip

Posted on

The Telegram Countdown That Never Goes Stale (No One Has to Re-Pin It)

Every launch channel has the same message eventually: "Btw the launch is in 12 days I think? Someone check." By day 9 nobody has checked, someone says 10, and the date silently slips. Countdown pins fail the same way — the pinned message says "T-minus 14" forever, because nobody is going to re-pin daily.

CountdownDaysBot solves it by never needing to be updated by a human.

One command, a self-updating card

/countdown 2026-12-25 Christmas posts one message — "22 days to Christmas" — and then edits that same message in place as the number changes (checked hourly). No new messages piling up, no stale pin: the group just always sees a current number.

Day-to-day commands

  • /countdowns — list every active countdown in the group with target dates and days remaining
  • /stop 3 — stop a countdown by id (the member who created it, or any admin)
  • /ctz +2 — set the group's UTC offset so "days remaining" flips over at local midnight instead of UTC midnight

Free groups run 2 active countdowns at a time. Pro removes the cap, adds custom emoji on the card, and switches to hourly-precision updates in the final 2 days — which matters for launch day itself, when "6 hours left" is the number people actually want.

The no-setup trick

Don't want the bot in the chat? Type @CountdownDaysBot 2026-12-25 Christmas in any chat and it posts a one-off "N days until" card. Handy for dropping a countdown into a channel where you can't (or don't want to) add a bot.

Privacy is deliberately boring: each group's countdowns store just a target date, label, creator id, and the message id being edited. The bot edits only the one message it posted and reads nothing else.

Try it: @CountdownDaysBot. Related: timezone conversions without the "3pm your time or mine?" thread and async standups for the rest of the distributed-team toolkit.

Top comments (0)