Telegram
- Create a bot via @BotFather → copy the token.
- Set
FERAL_TELEGRAM_BOT_TOKENor add tosettings.jsonunderchannels.telegram.bot_token. - FERAL polls for messages automatically. Send a message to the bot to register the chat.
Discord
- Create an application at discord.com/developers.
- Add a Bot → copy the token. Enable Message Content Intent.
- Invite with
https://discord.com/api/oauth2/authorize?client_id=YOUR_APP_ID&permissions=2048&scope=bot. - Set
FERAL_DISCORD_BOT_TOKEN.
Slack
- Create a Slack app at api.slack.com/apps.
- Enable Socket Mode → copy the
xapp-token. Add bot scopes:chat:write,channels:history. - Set
FERAL_SLACK_BOT_TOKEN(xoxb) andFERAL_SLACK_APP_TOKEN(xapp).
- Set up WhatsApp Cloud API via Meta Business.
- Copy the access token and phone number ID.
- Set
FERAL_WHATSAPP_ACCESS_TOKEN,FERAL_WHATSAPP_PHONE_ID. - Configure the webhook URL pointing to
POST /api/webhooks/whatsappon your FERAL server.
Troubleshooting
- Rate-limited (429) — FERAL retries up to 3 times with exponential backoff (1s, 2s, 4s).
- Webhook not receiving — Ensure your server is publicly reachable and the webhook URL is registered with the platform.
- Bot not responding — Check logs under
feral.channel.<name>for send errors.
