Chonky RemotePilot
Multi-transport chat bridge for VS Code Chat. Control your AI coding assistant remotely via Telegram, WhatsApp, Slack, or Discord.
⚠️ EXPERIMENTAL - USE WITH CAUTION
This extension forwards messages from external chat platforms directly into your VS Code Copilot Chat session. Authenticated users can instruct the AI to read files, edit code, run terminal commands, and perform any action available to the AI assistant.
Only authorize users you fully trust. Treat this like giving someone remote access to your development environment.
Features
- 📱 Multi-Transport - Connect via Telegram, WhatsApp, Slack, and/or Discord
- 🔐 Secure Authentication - Challenge-response auth with 6-digit codes per transport
- ⌨️ Typing Indicator - Shows "typing..." while the AI processes your request
- 🔄 Continuous Loop - Maintains an active chat session until cancelled
- 🔒 Secure Storage - Credentials stored securely in VS Code
https://github.com/user-attachments/assets/26659826-6d68-49d4-ae12-8143ff97a71e
Setup
Telegram
- Create a Telegram bot via @BotFather and get your bot token
- Run command:
🧑✈️🍣 Chonky RemotePilot: Configure Telegram
- Enter your bot token
- In VS Code Chat, type: "chonky listen" or "start remote pilot"
- Send a message to your bot on Telegram
- Enter the 6-digit auth code shown in VS Code
- Start chatting!
WhatsApp
- Run command:
🧑✈️🍣 Chonky RemotePilot: Configure WhatsApp
- Scan the QR code shown in the Output panel with WhatsApp (Settings > Linked Devices)
- In VS Code Chat, type: "chonky listen" or "start remote pilot"
- Send a message to yourself (or the Saved Messages chat) on WhatsApp
- Enter the 6-digit auth code shown in VS Code
- Start chatting!
Slack
- Create a Slack App at api.slack.com/apps
- Enable Socket Mode and generate an App-Level Token (xapp-...)
- Add Bot Token Scopes:
chat:write, im:history, im:read, users:read
- Enable Events and subscribe to
message.im
- Install app to your workspace and copy the Bot Token (xoxb-...)
- Run command:
🧑✈️🍣 Chonky RemotePilot: Configure Slack
- Enter both tokens when prompted
- In VS Code Chat, type: "chonky listen" or "start remote pilot"
- DM the bot in Slack and enter the 6-digit auth code
Discord
- Create a Discord App at discord.com/developers
- Add a Bot and enable MESSAGE CONTENT INTENT (required!)
- Copy the Bot Token
- Use OAuth2 URL Generator to create invite link with scopes:
bot
- Add permissions: Send Messages, Read Message History, View Channels
- Invite bot to your server
- Run command:
🧑✈️🍣 Chonky RemotePilot: Configure Discord
- Enter your bot token
- In VS Code Chat, type: "chonky listen" or "start remote pilot"
- DM the bot or message in a channel, enter the 6-digit auth code
Usage
Once authenticated via DM, you become a trusted user and can:
- Chat directly - Send messages in DM and the AI will respond
- Enable channels - Authorize group chats/channels for the bot
- Control access - Set how the bot responds in each channel
Admin Commands (in DM)
| Command |
Description |
enable <channel> |
Enable a channel (default: mentions mode) |
enable <channel> all |
Bot responds to everyone |
enable <channel> mentions |
Bot responds when @mentioned |
enable <channel> trusted-only |
Only trusted users can interact |
disable <channel> |
Disable a channel |
channels |
List enabled channels |
trusted |
List all trusted users |
revoke @user |
Remove a trusted user |
help |
Show available commands |
Channel Reference: Use channel name (e.g., general) or chat ID (e.g., -1234567890). The bot learns channel names from messages it sees.
Group Chat Behavior
- Unauthorized channels: Bot silently ignores messages
- Mentions mode: Bot only responds when @mentioned
- All mode: Bot responds to any message
- Trusted-only mode: Only authenticated users can interact
Note: You can connect multiple transports simultaneously - messages from any authenticated transport will be processed.
Troubleshooting
Telegram Bot Not Seeing Group Messages
CRITICAL: By default, Telegram bots in groups only see messages that @mention them. You must disable privacy mode.
Step 1: Disable Privacy Mode (Required!)
- Open Telegram and message @BotFather
- Send:
/mybots
- Select your bot
- Click Bot Settings
- Click Group Privacy
- Click Turn off (it should show "Privacy mode is disabled")
Verify: Send a test message in the group (without @mentioning the bot). Check VS Code Output panel (View → Output → select "Chonky RemotePilot"). You should see:
[Telegram] 📥 Received message in group "YourGroup" from @username: "test"
If you don't see this, privacy mode is still enabled or the bot isn't in the group.
Step 2: Authenticate & Enable Channel
Authenticate first: Send a DM to the bot and complete authentication
Add bot to the group (if not already added)
Enable the channel: In your DM with the bot, send:
enable general all
Or use the chat ID from logs:
enable -1234567890 mentions
Channel modes:
all - Bot responds to all messages
mentions - Bot only responds when @mentioned (default)
trusted-only - Only trusted users can interact
Quick Flow:
1. (BotFather) Disable privacy mode for your bot
2. (DM) Authenticate with bot
3. (Group) Add bot to group
4. (DM) enable general all
5. (Group) Start chatting!
Commands
🧑✈️🍣 Chonky RemotePilot: Configure Telegram - Set up your Telegram bot
🧑✈️🍣 Chonky RemotePilot: Configure WhatsApp - Connect WhatsApp (scan QR code)
🧑✈️🍣 Chonky RemotePilot: Configure Slack - Set up Slack (Socket Mode)
🧑✈️🍣 Chonky RemotePilot: Configure Discord - Set up Discord bot
🧑✈️🍣 Chonky RemotePilot: Disconnect - Stop all transports
Transport Icons
| Transport |
Icon |
| Telegram |
📱 |
| WhatsApp |
💬 |
| Slack |
💼 |
| Discord |
🎮 |
Security
- Challenge-Response Auth: First-time users must enter a 6-digit code displayed in VS Code
- Persistent Trust: Trusted users are remembered across VS Code sessions (stored securely)
- Auto-Expiry: Trust expires after 30 days of inactivity (requires re-auth)
- Session Channels: Channel authorizations reset on VS Code restart (security)
- Revokable Access: Use
revoke @user to remove trusted users anytime
- Group Authorization: Bot only responds in explicitly enabled channels
- Per-Transport Auth: Each transport requires separate authentication
- Code Expiry: Auth codes expire after 2 minutes
- Rate Limiting: 3 failed attempts = 5 minute block
Requirements
- VS Code 1.107.0+
- For Telegram: A Telegram account and bot token
- For WhatsApp: A WhatsApp account on your phone
- For Slack: A Slack workspace and app with Socket Mode
- For Discord: A Discord account and bot token
Supported Transports
- ✅ Telegram (node-telegram-bot-api)
- ✅ WhatsApp (Baileys)
- ✅ Slack (Bolt SDK + Socket Mode)
- ✅ Discord (discord.js)
- 🔜 Signal
Release Notes
0.0.5
- Persistent trusted users (survives VS Code restart)
- 30-day auto-expiry for inactive users
- New commands:
trusted (list users), revoke @user (remove trust)
- Channel authorizations remain session-only (security)
0.0.4
- Group chat authorization system
- Trusted users can enable/disable channels via DM commands
- Three channel modes:
all, mentions, trusted-only
- Bot mention detection (@botname) for Telegram, Slack, Discord
- Silent ignore for unauthorized group messages
0.0.3
- Added Slack support via Bolt SDK with Socket Mode
- Added Discord support via discord.js
- Discord messages auto-split for 2000 char limit
0.0.2
- Added WhatsApp support via Baileys
- Multi-transport architecture
- Per-transport authentication
0.0.1
Initial release:
- Telegram bot integration
- Challenge-response authentication
- Auto-connect on tool invocation
- Typing indicators
License
MIT