Top Related Projects
An API wrapper for Discord written in Python.
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
An unofficial .Net wrapper for the Discord API (https://discord.com/)
Quick Overview
Red-DiscordBot is a fully modular Discord bot written in Python. It's designed to be easily extendable and customizable, allowing users to create their own plugins (called cogs) to add new functionalities. Red-DiscordBot is feature-rich, user-friendly, and suitable for both small and large Discord communities.
Pros
- Highly modular and customizable with a plugin system
- Active community and regular updates
- Extensive documentation and support
- Wide range of pre-built cogs available
Cons
- Steep learning curve for beginners in Python
- Requires hosting and maintenance
- Some advanced features may require technical knowledge
- Can be resource-intensive for larger servers
Code Examples
- Creating a simple cog:
from redbot.core import commands
class MyCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def hello(self, ctx):
await ctx.send("Hello from my custom cog!")
async def setup(bot):
await bot.add_cog(MyCog(bot))
- Using the built-in economy system:
from redbot.core import bank
from redbot.core import commands
class EconomyCommands(commands.Cog):
@commands.command()
async def balance(self, ctx, user: discord.Member = None):
if user is None:
user = ctx.author
balance = await bank.get_balance(user)
await ctx.send(f"{user.name}'s balance: {balance} credits")
async def setup(bot):
await bot.add_cog(EconomyCommands(bot))
- Creating a simple reaction role system:
from redbot.core import commands
import discord
class ReactionRoles(commands.Cog):
@commands.command()
@commands.admin()
async def setuproles(self, ctx, message_id: int, emoji: str, role: discord.Role):
message = await ctx.fetch_message(message_id)
await message.add_reaction(emoji)
# Store role info in bot's config
@commands.Cog.listener()
async def on_raw_reaction_add(self, payload):
# Check if reaction matches stored info and assign role
async def setup(bot):
await bot.add_cog(ReactionRoles(bot))
Getting Started
-
Install Red-DiscordBot:
python3 -m pip install -U Red-DiscordBot
-
Set up the bot:
redbot-setup
-
Start the bot:
redbot <instance_name>
-
Invite the bot to your server using the Discord Developer Portal.
-
Use
[p]help
in Discord to see available commands, where[p]
is your chosen prefix.
Competitor Comparisons
An API wrapper for Discord written in Python.
Pros of discord.py
- More lightweight and flexible, allowing for greater customization
- Extensive documentation and large community support
- Faster development cycle with frequent updates
Cons of discord.py
- Requires more coding knowledge to set up and maintain
- Lacks built-in moderation and utility features
- May need additional libraries for advanced functionality
Code Comparison
discord.py:
@bot.command()
async def hello(ctx):
await ctx.send(f'Hello, {ctx.author.name}!')
Red-DiscordBot:
@commands.command()
async def hello(self, ctx):
await ctx.send(f'Hello, {ctx.author.name}!')
The code structure is similar, but Red-DiscordBot uses a class-based approach for cogs, while discord.py allows for more direct command definitions. Red-DiscordBot provides a more organized structure for larger projects, while discord.py offers more flexibility for smaller bots or specific use cases.
Red-DiscordBot is a full-featured bot framework built on top of discord.py, offering pre-built moderation tools, customizable commands, and an extensive plugin system. It's ideal for users who want a ready-to-use bot with minimal coding. On the other hand, discord.py is a lower-level library that provides more control and flexibility, making it suitable for developers who want to build custom bots from scratch or require specific functionality not available in Red-DiscordBot.
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
Pros of JDA
- Written in Java, offering strong typing and robust performance
- More lightweight and focused specifically on Discord API integration
- Provides lower-level control over Discord interactions
Cons of JDA
- Steeper learning curve for beginners compared to Red-DiscordBot
- Requires more manual setup and configuration
- Less out-of-the-box functionality for common bot features
Code Comparison
Red-DiscordBot (Python):
@commands.command()
async def hello(self, ctx):
await ctx.send("Hello!")
JDA (Java):
public void onMessageReceived(MessageReceivedEvent event) {
if (event.getMessage().getContentRaw().equals("!hello")) {
event.getChannel().sendMessage("Hello!").queue();
}
}
Red-DiscordBot is a Python-based, modular Discord bot framework with a focus on ease of use and extensibility. It provides a high-level interface for creating Discord bots with many built-in features and a plugin system.
JDA, on the other hand, is a Java library for creating Discord bots with a more low-level approach. It offers direct access to Discord's API, allowing for more fine-grained control but requiring more code to implement common bot functionalities.
While Red-DiscordBot is ideal for rapid bot development and users who prefer a more structured, feature-rich framework, JDA is better suited for developers who want more control over their bot's behavior and are comfortable with Java programming.
An unofficial .Net wrapper for the Discord API (https://discord.com/)
Pros of Discord.Net
- Written in C#, offering strong typing and better performance for .NET developers
- More flexible and customizable for building complex Discord bots
- Extensive documentation and API coverage
Cons of Discord.Net
- Steeper learning curve for beginners
- Requires more setup and configuration compared to Red-DiscordBot
- Less out-of-the-box functionality for common bot features
Code Comparison
Red-DiscordBot (Python):
@commands.command()
async def hello(self, ctx):
await ctx.send("Hello!")
Discord.Net (C#):
[Command("hello")]
public async Task HelloCommand()
{
await ReplyAsync("Hello!");
}
Both examples show a simple command implementation, but Discord.Net requires more boilerplate code due to C#'s static typing and object-oriented nature. Red-DiscordBot's Python implementation is more concise and easier to read for beginners.
Red-DiscordBot is better suited for users who want a quick setup and extensive built-in functionality, while Discord.Net is ideal for developers who need more control and customization in their Discord bot projects.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Red Discord Bot
Music, Moderation, Trivia, Stream Alerts and Fully Modular.
Overview ⢠Installation ⢠Documentation ⢠Plugins ⢠Community ⢠License
Overview
Red is a fully modular bot â meaning all features and commands can be enabled/disabled to your liking, making it completely customizable. This is a self-hosted bot â meaning you will need to host and maintain your own instance. You can turn Red into an admin bot, music bot, trivia bot, new best friend or all of these together!
Installation is easy, and you do NOT need to know anything about coding! Aside from installing and updating, every part of the bot can be controlled from within Discord.
The default set of modules includes and is not limited to:
- Moderation features (kick/ban/softban/hackban, mod-log, filter, chat cleanup)
- Trivia (lists are included and can be easily added)
- Music features (YouTube, SoundCloud, local files, playlists, queues)
- Stream alerts (Twitch, Youtube, Picarto)
- Bank (slot machine, user credits)
- Custom commands
- Imgur/gif search
- Admin automation (self-role assignment, cross-server announcements, mod-mail reports)
- Customisable command permissions
Additionally, other plugins (cogs) can be easily found and added from our growing community of cog repositories.
Installation
The following platforms are officially supported:
If after reading the guide you are still experiencing issues, feel free to join the Official Discord Server and ask in the #support channel for help.
Plugins
Red is fully modular, allowing you to load and unload plugins of your choice, and install 3rd party plugins directly from Discord! A few examples are:
- Cleverbot integration (talk to Red and she talks back)
- Ban sync
- Welcome messages
- Casino
- Reaction roles
- Slow Mode
- AniList
- And much, much more!
Feel free to take a peek at a list of available 3rd party cogs!
Join the community!
Red is in continuous development, and itâs supported by an active community which produces new content (cogs/plugins) for everyone to enjoy. New features are constantly added. If you canât find the cog youâre looking for, consult our guide on building your own cogs!
Join us on our Official Discord Server!
License
Released under the GNU GPL v3 license.
Red is named after the main character of "Transistor", a video game by Super Giant Games.
Artwork created by Sinlaire on Deviant Art for the Red Discord Bot Project.
This project vendors discord.ext.menus package made by Danny Y. (Rapptz) which is distributed under MIT License. A copy of this license can be found in the discord-ext-menus.LICENSE file in the redbot/vendored folder of this repository.
Top Related Projects
An API wrapper for Discord written in Python.
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
An unofficial .Net wrapper for the Discord API (https://discord.com/)
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot