As of May 4, 2022, the development, maintenance, and support for BB.Bot has come to an end.
BB.Bot is a Discord bot powered by Python and GCP's Compute Engine. Featuring 24/7 uptime, HQ music streaming, admin commands, and more, BB.Bot will bring your server to life. Available for free, our bot comes with no additional costs and long-term support.
- Click here to invite BB.Bot to your server.
- Click here to join our Discord server.
- Click here for self-hosting instructions.
- Click here for information about contributing.
Currently, BB.Bot 2.0.0
is in development. If you're thinking of contributing, please do so on the release/v2.0.0
branch.
- We use
...argument
to denote a list of arguments, likeargument a
,argument b
, etc... - We use
argument?
to denote an optional argument. You can use the command with or without one.
~help
Sends an embed containing a list of commands and categories.
You can use ~help <command>
or ~help <category>
to see more information.
~docs
Sends an embed linking to this page.
~clear
number of messages?
Clears a specified number of messages from a text channel. Using the command on its own will clear all messages
Requires: Manage Messages
~blacklist | ~bladd
...words?
Allows the user to choose words to ban on the server with a dropdown menu.
Requires: Manage Messages
β Optionally, you can type words after the command if you'd prefer not to use the dropdown.
~clearblacklist | ~blclear
Clears the blacklist for the server.
Requires: Manage Messages
~showblacklist | ~blshow
Shows the blacklist for the server.
Requires: Manage Messages
~blacklistremove | ~blrem
...words?
Allows the user to choose words to remove from the blacklist with a dropdown menu.
Requires: Manage Messages
β Optionally, you can type words after the command if you'd prefer not to use the dropdown.
~kick
member
reason?
Kicks a specified user from the server.
Requires: Kick Members
~ban
member
reason?
Bans a specified user from the server.
Requires: Ban Members
~softban
member
number of days
reason?
Temporarily bans a specified user from the server.
Requires: Ban Members
~unban
member
Unbans a specified user from the server.
Requires: Ban Members
~connect | ~join
Joins the VC you're currently in.
πΏ When you use play
, the bot will join automatically before playing, so this isn't needed most of the time.
~play | ~p
song to search for
Searches YouTube for a song and then plays the top result.
~pause | ~ps
Pauses the song currently playing if there is one.
~resume | ~r
Resumes the song currently playing if there's one currently paused.
~skip | ~s
Skips the song currently playing if there is one.
~queue | ~q | ~songs
Shows a list of songs that are queued.
~nowplaying | ~np
Shows the song currently playing if there is one.
~volume | ~vol
volume as a percentage
π§ Tip: You can use this command to have finer control over volume - you can set the volume to 8.78, for instance.
Adjust the volume of the music player.
~stop | ~del
Stops the music player and clears all existing songs from the queue.
~reactrole | ~crr
emoji
@role
message
Creates an embed that users can react to for a role.
Requires: Manage Roles
~removereactrole | ~rrr
@role
Deletes all reaction role messages for a particular role.
Requires: Manage Roles
β Currently, we're testing out slash commands for this category.
~choose
...options
or /choose...options
Randomly chooses an option from a list. Use quote marks "" around the options if they are longer than one word.
/choose
does not currently support choices with multiple words.
~meme or /meme
Sends a random meme from Reddit.
~poll
yes/no question
or /pollyes/no question
Creates a poll that users can react with yes or no to.
~twitch
streamer name
or /twitchstreamer name
Gets information about a Twitch stream if the streamer is currently streaming.
~echo
text
or /echotext
Repeats a message in a text channel.
~ping or /ping
Shows your current ping/latency in milliseconds.
~youtube | ~yt
search term
or /youtubesearch term
Searches YouTube for a video and sends you a link to it. You can choose to view it on YouTube or in Discord.
β Just like misc commands, we're also testing out slash commands for this category.
~joined
@member?
or /joined@member?
Shows the join date of a member on a server. If no member is specified, it shows your join date.
~toprole
@member?
or /toprole@member?
Shows a member's highest ranking role on a server. If no member is specified, it shows your top role.
~permissions | ~perms
@member?
or /permissions@member?
Shows the permissions a member has on a server. If no member is specified, it shows your permissions.
How to set up BB.Bot for self-hosting, step by step.
'?'
. This is so that we don't get the main & dev versions mixed up!
- Click here for more information on installing Python.
- Click here for more information on setting up a Discord bot using the Discord Developer Portal.
- Click here for more information on registering a Twitch API application.
- Python 3.10+
- A Discord API application with a Bot user, with:
- All priveleged gateway intents
Administrator
permissionsbot
andapplications.commands
scopes.
- A registered Twitch API application.
- Install a .ZIP from the releases page.
- Extract it to your preferred file location.
- Create a file in the root directory called
.env
. It should look like this:
TOKEN=<Your Discord Bot Token>
TEST_GUILD_ID=<Your Server's ID. This is optional>
TWITCH_CLIENT_ID=<Your Twitch Client ID>
TWITCH_CLIENT_SECRET=<Your Twitch Client Secret>
- Go to the root directory and run
chmod +x scripts/start.sh
. - Then run the script using
./scripts/start.sh
.
- Press Windows + X.
- Choose Windows PowerShell (Admin).
- Go to the root directory and run
Set-ExecutionPolicy Bypass
. - Finally, run
.\scripts\start.ps1
.