Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/v0idzdev/bb-bot
🤖🔒 Fully-featured Discord bot with music, polls, memes and moderation.
https://github.com/v0idzdev/bb-bot
24-7 24-7-hosting 24-7-music-bot bot discord discord-admin-bot discord-api discord-bot discord-mod discord-moderation-bot discord-music-bot discord-py functional-programming gcp gcp-compute gcp-compute-engine google-cloud procedural procedural-programming python-3
Last synced: 2 months ago
JSON representation
🤖🔒 Fully-featured Discord bot with music, polls, memes and moderation.
- Host: GitHub
- URL: https://github.com/v0idzdev/bb-bot
- Owner: v0idzdev
- License: gpl-3.0
- Created: 2022-02-27T20:54:42.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-02T13:13:31.000Z (over 1 year ago)
- Last Synced: 2023-06-02T14:26:33.528Z (over 1 year ago)
- Topics: 24-7, 24-7-hosting, 24-7-music-bot, bot, discord, discord-admin-bot, discord-api, discord-bot, discord-mod, discord-moderation-bot, discord-music-bot, discord-py, functional-programming, gcp, gcp-compute, gcp-compute-engine, google-cloud, procedural, procedural-programming, python-3
- Language: Python
- Homepage:
- Size: 558 KB
- Stars: 32
- Watchers: 2
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🤖 BB.Bot
🔒 Moderation | 🎵 HQ Music Streaming | 😆 Memes | ⭐ Reaction Roles | ❓ Polls
Powered by discord.py and GCP, BB.Bot is the bot for you.
**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](https://discord.com/api/oauth2/authorize?client_id=947593856839458916&permissions=8&scope=bot%20applications.commands)** to invite BB.Bot to your server.
* Click **[here](https://discord.gg/tdFRB8uU)** to join our Discord server.
* Click **[here](#-self-hosting)** for self-hosting instructions.
* Click **[here](https://github.com/matthewflegg/bb-bot/blob/master/CONTRIBUTIONS.md)** 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.
## 📢 **Commands List**
* We use `...argument` to denote a **list of arguments**, like `argument a`, `argument b`, etc...
* We use `argument?` to denote an **optional argument**. You can use the command **with** or **without** one.### 🧭 Contents
* **[Help Commands](#-help-commands)**
* **[Admin Commands](#-admin-commands)**
* **[Music Commands](#-music-commands)**
* **[Role Commands](#-role-commands)**
* **[Misc Commands](#-misc-commands)**
* **[Info Commands](#-info-commands)**
### 🔖 Help Commands
> **~help**
Sends an embed containing a list of commands and categories.
You can use **`~help `** or **`~help `** to see more information.> **~docs**
Sends an embed linking to **this page**.
### 🔑 Admin Commands
> **~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`⚠️ Other users will be able to see the words on the list. Only use this in an admin/mod-only channel.
> **~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`⚠️ It is **not** recommended to use this when self-hosting, unless your bot will be running 24/7.
> **~unban `member`**
Unbans a specified user from the server.
**Requires**: `Ban Members`
### 🔊 Music Commands
> **~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.
⚠️ This command kicks the bot from the VC.
### 🌟 Role Commands
> **~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`
### 📒 Misc Commands
❓ Currently, we're testing out **[slash commands](https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ)** 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 **/poll `yes/no question`**
Creates a poll that users can react with yes or no to.
> **~twitch `streamer name`** or **/twitch `streamer name`**
Gets information about a Twitch stream if the streamer is currently streaming.
> **~echo `text`** or **/echo `text`**
Repeats a message in a text channel.
> **~ping** or **/ping**
Shows your current ping/latency in milliseconds.
> **~youtube | ~yt `search term`** or **/youtube `search term`**
Searches YouTube for a video and sends you a link to it. You can choose to view it on YouTube or in Discord.
### 💡 Info Commands
❓ Just like misc commands, we're also testing out **[slash commands](https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ)** 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.
## 🚀 Self Hosting
How to set up **BB.Bot** for self-hosting, step by step.⚠️ For **development** versions of the bot, the prefix is `'?'`. This is so that we don't get the main & dev versions mixed up!
* Click **[here](https://realpython.com/installing-python/)** for more information on **installing Python**.
* Click **[here](https://discordpy.readthedocs.io/en/stable/discord.html)** for more information on **setting up a Discord bot** using the **Discord Developer Portal**.
* Click **[here](https://dev.twitch.tv/docs/authentication/register-app)** for more information on **registering a Twitch API application**.### 🔖 Prerequisites
* **Python** 3.10+
* A **Discord API application with a Bot user**, with:
* **All** priveleged gateway intents
* `Administrator` permissions
* `bot` and `applications.commands` scopes.
* A registered **Twitch API application**.### ⏳ Installing
1. Install a **.ZIP** from the **[releases](https://github.com/matthewflegg/bb-bot/releases)** page.
3. **Extract it** to your preferred file location.
4. **Create a file** in the **root directory** called `.env`. It should look like this:
```
TOKEN=
TEST_GUILD_ID=
TWITCH_CLIENT_ID=
TWITCH_CLIENT_SECRET=
```### 🔌 Running
##### 🐧 Linux/UNIX
* Go to the **root directory** and run `chmod +x scripts/start.sh`.
* Then **run the script** using `./scripts/start.sh`.##### 🏠 Windows
* Press **Windows + X**.
* Choose **Windows PowerShell (Admin)**.
* Go to the **root directory** and run `Set-ExecutionPolicy Bypass`.
* Finally, **run** `.\scripts\start.ps1`.