A Telegram bot that automates daily standup meetings by collecting responses from team members and posting them to a channel.
- Automated daily standup questions at configurable time (Monday-Friday only)
- Timezone support for each team member
- Simple subscription system for team members
- Manual trigger for testing standups
- Daily standup replay functionality
- Subscribed members list
- Vacation mode support
- Late reminder system for missing standups
- Collects responses for:
- Yesterday's work
- Today's plans
- Current blockers (optional)
- Posts compiled responses to a designated channel
-
Create a new bot using @BotFather on Telegram and get the bot token
-
Create a channel where standup updates will be posted and add your bot as an administrator
-
Clone this repository and install dependencies:
git clone <repository-url> cd standup_bot yarn install
-
Create a
.envfile based on.env.example:cp .env.example .env
-
Edit the
.envfile with your bot token, channel ID, and admin usernames:TELEGRAM_BOT_TOKEN=your_bot_token_here TELEGRAM_CHANNEL_ID=@your_channel_name ADMIN_USERNAMES=admin1,admin2 TZ=Europe/Lisbon -
Start the bot:
yarn start
-
Start a chat with your bot and send
/startto see available commands -
Use
/subscribeto start receiving daily standup questions -
Set your timezone using
/timezoneif you're not in Lisbon time -
The bot will automatically send you questions at the configured standup time on weekdays (Monday-Friday)
-
Answer each question when prompted
-
Use
/unsubscribeto stop receiving daily standup questions
/start- Initialize the bot and see available commands/subscribe- Subscribe to daily standups/unsubscribe- Unsubscribe from daily standups/standup- Manually trigger a standup session/replay- Show all standups submitted today/members- List all subscribed members/timezone- Set your timezone/status- Show today's standup status/summary [days]- Show standup summary for specified days/vacation dd/mm/yyyy- Set vacation mode until date/back- Return from vacation/skip- Skip the blockers question (only during standup)
/set_time HH:mm- Set daily standup time (24h format)/late_reminder on|off- Enable/disable late reminders/late_reminder_hours N- Set hours to wait before late reminder (1-12)
The bot includes a configurable late reminder system for users who haven't submitted their standup:
- Admins can enable/disable late reminders using
/late_reminder onor/late_reminder off - The delay before sending late reminders can be set using
/late_reminder_hours N(1-12 hours) - Each user receives at most one late reminder per day
- Late reminders are only sent to users who:
- Are subscribed
- Haven't submitted their standup yet
- Aren't on vacation
You can test the bot's functionality without waiting for the scheduled time:
- Start a chat with the bot
- Use
/subscribeto register yourself - Use
/standupto immediately start a standup session - Answer the questions as they come
- Check your channel to see the formatted response
- Use
/replayto see all standups submitted today
This is particularly useful for testing the bot's functionality during development or when setting up the bot for the first time.
MIT