A Discord bot for Bible verses.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add circleci config. Apr 28, 2018
.github/ISSUE_TEMPLATE Update issue templates Feb 8, 2019
.idea Fix a bug where an error message wouldn't get shown. Aug 26, 2018
databases Fix a bug where an error message wouldn't get shown. Aug 26, 2018
src Fix a bug where an error message wouldn't get shown. Aug 26, 2018
.gitignore Rest of v7 besides abbv stuff. Jul 30, 2018
.gitmodules Get to work on v6 with the Bible Gateway book names script. May 9, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Aug 23, 2018
README.md Add Codacy badge Feb 8, 2019
crowdin.yml Update Crowdin configuration file Aug 22, 2018



Codacy Badge Help Translate on Crowdin Join us on Discord Discord Bots

A Discord bot for Bible verses.

To use it, just say a Bible verse.


git clone https://github.com/BibleBot/BibleBot.git
cd BibleBot
git submodule update --init
python3 -m venv venv
source venv/bin/activate
cp src/config.example.ini src/config.ini
$EDITOR src/config.ini
pip install -U "https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]"
pip install -U tinydb colorama requests bs4 lxml
python src/bot.py


  • +biblebot - the help command
  • +versions - show all Bible translations you can set
  • +setversion VER - set a preferred version
  • +version - display your current version
  • +versioninfo VER - read information about a version, using the acronym
  • +random - get a random Bible verse
  • +verseoftheday (+votd) - get the verse of the day
  • +headings enable/disable - enable or disable the headings that display on certain verses
  • +versenumbers enable/disable - enable or disable verse numbers from showing on each line
  • +languages - show all available language translations you can set
  • +setlanguage LANG - set a preferred language
  • +language - display your current language
  • +users - list all users throughout all servers (not counting duplicates)
  • +servers - list all servers BibleBot is in
  • +invite - get the invite link for BibleBot

Extra-Biblical Commands:

  • +creeds - the ecumenical creeds (contains further commands)

Guild Commands:

  • +setguildversion ABBV - set the guild's default version to ABBV
  • +guildversion - see the default version for this guild
  • +setguildlanguage LANG - set the guild's default language to LANG
  • +guildlanguage - see the guild's default language, if one is set (default: english)
  • +setvotdtime TIME - set the VOTD scheduler time to TIME (TIME must be 24h format and in UTC)
  • +clearvotdtime - clear the VOTD scheduler time
  • +votdtime - see the VOTD scheduler time and channel

Bot Owner Commands:

  • +addversion versionname abbv hasOT hasNT hasDEU (+av) - add a version
  • +puppet message - say something as the bot (requires 'Manage Messages' perms in order to fully function)
  • +eval python - execute python code (it's an exec() wrapper)
  • +userid name#discriminator - grab a user id by name and discriminator
  • +ban id reason - ban an id from using the bot (works for both users and guilds)
  • +unban id reason - unban an id from using the bot (works for both users and guilds)
  • +reason id - get ban reason for an id
  • +optout id - optout an id from using the bot (works for users)
  • +unoptout id - unoptout an id from using the bot (works for users)
  • +leave NAME - leave the current or NAME server (argument optional)

Invite BibleBot to your server! https://discordapp.com/oauth2/authorize?client_id=361033318273384449&scope=bot&permissions=93248


BibleBot requires the following permissions in order to function properly:

  • Read Messages, Send Messages - Obviously.

  • Embed Links - This is for BibleBot to use the Discord embed object, as BibleBot uses these for everything besides verses.

    • Example:
  • Add Reactions, Manage Messages (to clear reactions after timeout), Read Message History - To use reactions properly on things like +search and +versions.

    • Example:


Every commit, add 1 to the last number of the version, if the result is 10, add 1 to the second number of the version. If the result of the second number is 10, add 1 to the first number of the version.

2.8.9 --> Commit --> 2.9.0
2.9.8 --> Commit --> 2.9.9
2.9.9 --> Commit --> 3.0.0

Every commit done involving the code itself must have the version number updated.
Commits done to the README, the package.json file (except when adding dependencies),
and the dotfiles do not need to have the version number updated.

Special Thanks

adfizz, apocz, audiovideodisco, Blubb, BonaventureSissokovitch, Buggyrcobra, Coal, DeadPixels, jznsamuel, Koockies, Mark Nunberg, Manelic, Raven Melodie, omeratagun, Sezess, sunray.steemit, SwedishMeatball, Tuonela, TySpeedy, Viva98, xnkmevaou, Zyxl and many more for their hard work on helping BibleBot reach the world by translating languages ❤️