Convert Figma logo to code with AI

Cog-Creators logoRed-DiscordBot

A multi-function Discord bot

4,722
2,298
4,722
283

Top Related Projects

An API wrapper for Discord written in Python.

4,280

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

  1. 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))
  1. 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))
  1. 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

  1. Install Red-DiscordBot:

    python3 -m pip install -U Red-DiscordBot
    
  2. Set up the bot:

    redbot-setup
    
  3. Start the bot:

    redbot <instance_name>
    
  4. Invite the bot to your server using the Discord Developer Portal.

  5. 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.

4,280

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


Red - Discord Bot
Red Discord Bot

Music, Moderation, Trivia, Stream Alerts and Fully Modular.

Discord Server PyPI PyPI - Python Version discord.py Support Red on Patreon!

GitHub Actions Red on readthedocs.org Code Style: Black Localized with Crowdin

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.