A free Bible bot for Twitch & Discord — built for Christian content creators and online ministries.
Forge Bible Bot brings Scripture into your community with verse lookups, Bible trivia, daily devotionals, prayer requests, OBS stream overlays, and more. Completely free, fully customizable, and built to help you share the Word wherever God has placed you.
"Let the word of Christ dwell in you richly." — Colossians 3:16 (ESV)
Sign in with Twitch or Discord, and the bot joins your channel automatically. Free forever — no downloads, no servers, no technical skills needed.
The hosted version includes everything below plus a web dashboard, automatic updates, and managed infrastructure.
Want to run your own instance? This repo has everything you need.
| Feature | Twitch | Discord | Description |
|---|---|---|---|
| Verse Lookup | !verse John 3:16 |
/verse John 3:16 |
Any verse, range, or multi-reference |
| Auto-Detect | ✅ | ✅ | Type "John 3:16" naturally and the bot responds |
| Chapter Reading | !read Psalm 23 |
/read Psalm 23 |
Full chapters with smart pagination |
| Keyword Search | !search grace |
/search grace |
Search the Bible by keyword (ESV API) |
| Cross-References | !xref |
/xref |
Find related passages for deeper study |
| Verse of the Day | !votd |
/votd |
Daily verse with streak tracking |
| Bookmarks | !save / !saved |
/save / /saved |
Save favorite verses permanently |
| Bible Trivia | !trivia |
/trivia |
190 questions across 3 difficulties |
| The Gospel | !gospel |
/gospel |
Gospel presentation (English + Spanish) |
| Prayer Requests | !prayer |
/prayer |
Public, private, and anonymous options |
| Stream Topic | !topic |
/topic |
Study focus with auto-reminders |
| OBS Overlay | ✅ | — | On-screen verse display for streams |
| Welcome DMs | — | ✅ | Greet new Discord members with a verse |
| Scheduled VOTD | — | ✅ | Auto-post Verse of the Day daily |
| 7 Translations | ✅ | ✅ | ESV, KJV, NKJV, NLT, NASB, NIV, WEB |
- Node.js 18+ — Download here
- A Twitch account and/or Discord server
git clone https://github.com/ScriptedByAI/forge-bible-bot.git
cd forge-bible-bot
npm installOption A — Setup Wizard (recommended):
npm run setupOption B — Manual:
cp .env.example .envThen edit .env with your API keys (see below).
npm start- Create a Twitch account for your bot (or use your own)
- Get an OAuth token at twitchapps.com/tmi
- Add to
.env:TWITCH_USERNAME=your_bot_name TWITCH_OAUTH=oauth:your_token_here TWITCH_CHANNELS=your_channel_name
- Go to Discord Developer Portal
- Create a New Application → click Bot → Reset Token → copy it
- Enable SERVER MEMBERS INTENT and MESSAGE CONTENT INTENT
- Go to OAuth2 → URL Generator: Scopes:
bot,applications.commands. Permissions:Send Messages,Embed Links,Read Message History,Use Slash Commands - Open the generated URL to invite the bot to your server
- Add to
.env:DISCORD_BOT_TOKEN=your_token_here DISCORD_CLIENT_ID=your_client_id_here DISCORD_GUILD_ID=your_server_id_here
Tip: Right-click your server → Copy Server ID. Enable Developer Mode in Discord Settings → Advanced.
- Go to api.esv.org and create a free account
- Request an API key
- Add to
.env:ESV_API_KEY=your_key_here
Without the ESV key, the bot falls back to the WEB translation via bible-api.com. The ESV key unlocks ESV text, keyword search, and cross-references.
Edit this file to personalize the bot for your ministry:
{
"about": {
"title": "Your Community Name",
"description": "A Christ-centered community for faith and fellowship.",
"twitch_url": "https://twitch.tv/yourchannel",
"activities": "Bible studies, worship, gaming, and prayer"
},
"testimony": {
"enabled": true,
"title": "My Testimony",
"description": "How God transformed my life.",
"link_url": "https://yoursite.com/testimony"
},
"prayer": {
"public_channel": "#prayer-requests",
"anonymous_form_url": "https://forms.google.com/your-form",
"crisis_info": "If you're in crisis, call **988** or text **HOME** to **741741**."
},
"footer": "Your Community | Jesus is Lord!"
}| Setting | Default | Description |
|---|---|---|
BOT_NAME |
Forge Bible Bot | Display name |
DEFAULT_TRANSLATION |
esv | Default Bible version |
COMMAND_PREFIX |
! | Twitch command prefix |
COMMAND_COOLDOWN |
3 | Seconds between commands per user |
DISCORD_AUTO_DETECT |
true | Auto-lookup verse references |
WELCOME_DM |
true | DM new Discord members |
OBS_OVERLAY |
true | Enable OBS browser source |
OBS_OVERLAY_PORT |
3000 | Port for overlay server |
- Set
OBS_OVERLAY=truein your.env - In OBS, add a Browser Source: URL
http://localhost:3000/overlay, 1920x1080 - Verses appear on-screen when looked up in Twitch chat
npm start # Start all configured bots
npm run twitch # Twitch only
npm run discord # Discord only
npm run setup # Run setup wizardforge-bible-bot/
├── start.js # Unified launcher
├── setup-wizard.js # Guided first-time setup
├── .env.example # Configuration template
├── custom-commands.json # Personalized bot content
├── src/
│ ├── index.js # Twitch bot
│ ├── discord-bot.js # Discord bot
│ ├── commands.js # Twitch command handlers
│ ├── discord-commands.js # Discord slash commands
│ ├── bible-service.js # ESV API + fallback
│ ├── verse-parser.js # Reference detection
│ ├── trivia.js # 190-question trivia engine
│ ├── storage.js # Persistent storage
│ ├── obs-overlay.js # SSE overlay server
│ └── overlay/index.html # OBS browser source
└── data/ # Auto-created user data
Contributions are welcome — trivia questions, bug fixes, translations, or features.
- Fork the repo
- Create a branch:
git checkout -b feature/your-feature - Commit and push
- Open a Pull Request
Forge Bible Bot is free for all Christian ministries and always will be.
If this tool has blessed your community, you can support continued development:
- 📺 Twitch — Live streams, faith, gaming, and honest conversations
- 💬 Discord — The Forge — fellowship, prayer, Bible study, and bot support
- 🌐 Website — Hosted version with instant setup
MIT License — free to use, modify, and distribute. See LICENSE for details.
Marine veteran. Redeemed by Jesus. Building tools for the Kingdom.
"As iron sharpens iron, so one man sharpens another." — Proverbs 27:17 (ESV)