A VS Code extension that sends Telegram notifications for your own private chat when Copilot changes files. Go grab a coffee, Fidipides will notify you when your code is ready :)
This is a heuristic approach, since apparently there is no official interface or API to consume.
The extension collects all files changed (based on the batchSeconds setting) after a chat interaction.
- Copilot chat response completions (detected by document scheme and content patterns)
- File modifications triggered by Copilot chat (in a pre-defined interval of seconds, all changed files will generate a notification sent to Telegram)
- Open Telegram and search for @BotFather
- Send
/newbotand follow the instructions - Save your Bot Token
- Get your Chat ID:
- Add your bot to a chat or group
- Send any message to the chat
- Visit:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdates - Copy the
message.chat.idvalue
📖 Telegram Bot Docs: Creating a Telegram Bot
# Clone and install dependencies
git clone <your-repo-url>
cd fidipides
npm install
# Build the extension
npm run compile
# Run tests
npm test
# Run linting
npm run lint- Press F5 to launch Development Host
- In the new VS Code window, open Settings (Cmd/Ctrl + ,)
- Search for "Fidipides"
- Configure:
- Telegram Bot Token: Your bot token from step 1
- Chat Id: Your chat ID from step 1
- Adjust other settings as needed
- Batch Seconds
- Open Command Palette (Cmd/Ctrl + Shift + P)
- Run: Fidipides Alert: Send Telegram Ping
- You should receive a test message in Telegram
| Setting | Default | Description |
|---|---|---|
telegramBotToken |
"" | Bot token from @BotFather |
chatId |
"" | Telegram chat ID to receive notifications |
cooldownSeconds |
45 | Cooldown period to prevent spam |
batchSeconds |
60 | Time window to batch file changes before sending notifications |
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch for changes during development
npm run watch
# Run tests
npm run test
The extension includes comprehensive tests:
# Run all tests (integration + unit)
npm test
src/test/extension.test.ts- Extension activation and command registration testssrc/test/telegramNotifier.test.ts- Core notification logic testssrc/test/utils.test.ts- Utility function testssrc/test/suite/- VS Code test runner configuration
To install the extension locally (without publishing to the Marketplace):
- Build the VSIX package:
npm run package # This creates a .vsix file in your project directory - In VS Code, open the Command Palette (Cmd/Ctrl+Shift+P) and run: Extensions: Install from VSIX...
- Select the generated
.vsixfile (e.g.,copilot-telegram-alert-0.1.0.vsix) - The extension will be installed locally and available in your Extensions panel.
- Go to the extension page and update the settings to add your Telegram credentials and set the number of seconds to wait before sending the message.
- Fork the repository
- Create a feature branch:
git checkout -b feature/whatsapp - Make your changes and add tests
- Run tests:
npm test - Commit:
git commit -m 'Add support to whatsapp' - Push:
git push origin feature/whatsapp - Create a Pull Request
"Configure the Telegram credentials" Error
- Ensure both
telegramBotTokenandchatIdare set in VS Code settings - Verify your bot token is correct (test with @BotFather)
- Check that your chat ID is numeric (not a username)
No Notifications Received
- Check that the bot is added to your target chat
- Verify the chat ID by sending a message and checking
/getUpdates - Ensure the cooldown period hasn't been triggered
Enable verbose logging by checking VS Code's Developer Console:
- Help → Toggle Developer Tools
- Check the Console tab for extension logs
- Can't access Copilot's internal state, relies on text change patterns
- Large copy/paste operations may trigger notifications
- Subject to Telegram rate limits and API availability
MIT - see LICENSE file for details.
- Initial release with Copilot detection and Telegram notifications
- Comprehensive test suite
- Modern TypeScript architecture