Files
Pac-cogs/birthday

Birthday Cog for Red-DiscordBot

This cog allows you to assign a special role to users on their birthday and send them a celebratory message with cake (or pie) emojis! Supports both traditional prefix commands and slash commands.

Installation

To install this cog, follow these steps:

  1. Ensure you have Red-DiscordBot V3 installed.

  2. Add the repository to your bot:

    [p]repo add Pac-cogs https://github.com/pacnpal/Pac-cogs
    
  3. Install the Birthday cog:

    [p]cog install Pac-cogs birthday
    
  4. Load the cog:

    [p]load birthday
    

Replace [p] with your bot's prefix.

Setup

Before using the cog, you need to set it up. You can use either prefix commands or slash commands:

  1. Set the birthday role:

    [p]birthdayset role @Birthday
    

    or

    /birthdayset role @Birthday
    

    Note: The bot's role must be above the birthday role in the server's role hierarchy, but users assigning the birthday role do not need to have a role above it.

  2. Add roles that can use the birthday command:

    [p]birthdayset addrole @Moderator
    

    or

    /birthdayset addrole @Moderator
    
  3. (Optional) Set the timezone for role expiration:

    [p]birthdayset timezone America/New_York
    

    or

    /birthdayset timezone America/New_York
    
  4. (Optional) Set a specific channel for birthday announcements:

    [p]birthdayset channel #birthdays
    

    or

    /birthdayset channel #birthdays
    

    If not set, the birthday message will be sent in the channel where the command is used.

Usage

To assign the birthday role to a user:

[p]birthday @User

or

/birthday @User

This will assign the birthday role to the user and send a celebratory message with random cake (or pie) emojis. The role will be automatically removed at midnight in the specified timezone.

Features

  • Assigns a special birthday role to users
  • Sends a celebratory message with random cake (or pie) emojis
  • Automatically removes the birthday role at midnight, temporarily stores so tasks will complete even if cog is reloaded
  • Configurable timezone for role expiration
  • Option to set a specific channel for birthday announcements (defaults to the channel where the command is used)
  • Restricts usage of the birthday command to specified roles
  • Users can assign the birthday role without needing a role higher than it in the hierarchy
  • Full slash command support for all commands

Commands

All commands support both prefix and slash command syntax:

  • [p]birthdayset role or /birthdayset role: Set the birthday role
  • [p]birthdayset addrole or /birthdayset addrole: Add a role that can use the birthday command
  • [p]birthdayset removerole or /birthdayset removerole: Remove a role from using the birthday command
  • [p]birthdayset timezone or /birthdayset timezone: Set the timezone for the birthday role expiration
  • [p]birthdayset channel or /birthdayset channel: Set the channel for birthday announcements
  • [p]birthday or /birthday: Assign the birthday role to a user
  • [p]bdaycheck or /bdaycheck: Check upcoming birthday role removal tasks

Support

If you encounter any issues or have questions, please open an issue on the GitHub repository.