A Telegram dead man's switch. Check in regularly - if you miss your deadline, your designated watchers are notified.
- Add a watcher via
/invite— share the link with someone you trust - Check in daily with
/checkin - If you miss your deadline, your watchers receive your custom alert message
Reminders are sent at a configurable daily time and again when the deadline is approaching.
| Command | Description |
|---|---|
/checkin |
Record a check-in |
/settings |
Configure interval, deadline, reminders, alert message, and PIN |
/invite |
Generate a one-time invite link for a watcher |
/watchers |
View and manage your watchers |
/watching |
View people you are watching |
/lang |
Switch language |
- Interval — how often you intend to check in (12 / 24 / 48 / 72 h)
- Deadline — how long after a missed check-in before watchers are alerted (24-96 h)
- Daily reminder — UTC hour to receive a daily nudge
- Before deadline — reminder X hours before the deadline is reached
- Alert message — what your watchers see if you go silent
- PIN — optional 4-digit PIN required to complete a check-in (entered via on-screen keypad, never exposed in chat history)
- Duress PIN — optional second PIN. The normal PIN records a real check-in. The duress PIN shows the same success response and silences reminders, but does not move the real deadline, so watchers are still alerted if that deadline is reached. Any other PIN fails normally.
Requirements: Python 3.12+, uv
BOT_TOKEN=your_token uv run python main.pyDocker:
docker build -t stillalive-bot .
docker run -e BOT_TOKEN=your_token -v $(pwd)/data:/app/data stillalive-botThe SQLite database is stored at stillalive.db by default (set DB_PATH to override).
