A Telegram bot that automatically updates group chat titles with countdown and creates visual progress banners.
- Daily countdown updates: Automatically updates group chat title with days remaining
- Visual progress banner: Creates a progress image showing completion percentage
- Customizable schedule: Runs daily at midnight UTC+8 (configurable via cron)
- Manual trigger: Can be triggered manually via GitHub Actions workflow dispatch
The bot calculates progress between a start date and target date, then:
- Updates the group chat title with remaining days
- Creates a visual banner by splitting an image based on progress percentage
- Updates the group chat photo with the progress banner
- Click "Use this template" at the top right
- Add a banner image named
banner.jpgto the repository root - Configure the following GitHub secrets:
TELEGRAM_BOT_TOKEN: Bot token from @BotFatherTELEGRAM_CHAT_ID: Chat ID of the target group chatTELEGRAM_START_DATE: Start date in formatYYYY-MM-DD(UTC)TELEGRAM_TARGET_DATE: Target date in formatYYYY-MM-DD(UTC)
- Add the bot to your group chat and make it an admin
- Customize the chat title format in
convert-and-upload.shif needed
- Schedule: Edit the cron expression in
.github/workflows/countdown.ymlto change when updates occur - Title format: Modify the
TITLEvariable inconvert-and-upload.sh - Image processing: Adjust ImageMagick commands in the script for different visual effects
This project is made by Elvis Mao, licensed under the Do What The Fuck You Want To Public License - see the LICENSE file for details.