Discord Bot Setup
EdgeProof has two ways to read Discord channels:
| Mode | Pros | Cons |
|---|---|---|
| puppeteer (default) | Works with any channel you can see in a browser. No bot approval needed. | Requires Chrome running with DevTools. Slower (polls every 30s). |
| bot | Faster (real-time Gateway events). No browser required. | You must create a bot and get it added to the server. Requires server admin cooperation or your own server. |
Puppeteer mode (default)
Launch Chrome with the remote debugging port open:
macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \ --remote-debugging-port=9222 \ --user-data-dir=./chrome-puppeteer-profileWindows:
"C:\Program Files\Google\Chrome\Application\chrome.exe" ^ --remote-debugging-port=9222 ^ --user-data-dir=chrome-puppeteer-profileLog into Discord in that Chrome window and navigate to the signal channel.
Set in
.env:DISCORD_SOURCE_MODE=puppeteer DISCORD_CHANNEL_URL=https://discord.com/channels/SERVER_ID/CHANNEL_ID CHROME_DEBUGGING_URL=http://localhost:9222For multiple channels:
DISCORD_CHANNEL_URLS=https://discord.com/channels/.../111,https://discord.com/channels/.../222
Bot mode
1. Create a Discord application & bot
- Go to discord.com/developers/applications
- Click New Application → name it (e.g., "EdgeProof")
- Go to Bot → click Add Bot
- Under Token, click Reset Token and copy the token. This is your
DISCORD_BOT_TOKEN - Under Privileged Gateway Intents, enable:
- Message Content Intent (required to read message text)
2. Add the bot to a server
Generate an invite URL:
https://discord.com/api/oauth2/authorize?client_id=YOUR_APP_ID&permissions=1024&scope=bot
Replace YOUR_APP_ID with your application's Client ID (found on the General Information page). Permission 1024 = Read Messages only.
Open the URL, select your server, authorize. The bot must have Read Messages permission on the target channel.
3. Get channel IDs
In Discord: right-click a channel → Copy Channel ID (requires Developer Mode, enable in User Settings → Advanced).
4. Configure
DISCORD_SOURCE_MODE=bot
DISCORD_BOT_TOKEN=your-bot-token-here
DISCORD_CHANNEL_IDS=111122223333,444455556666
Optional: only process messages containing certain keywords (useful for channels that mix signal and discussion):
DISCORD_CHANNEL_FILTERS=BUY,SELL,ENTRY
Channel name labels
Optionally label channels for the scoreboard display:
DISCORD_CHANNEL_NAMES=111122223333:Signals Alpha,444455556666:Options Flow