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:
-
Ensure you have Red-DiscordBot V3 installed.
-
Add the repository to your bot:
[p]repo add Pac-cogs https://github.com/pacnpal/Pac-cogs -
Install the Birthday cog:
[p]cog install Pac-cogs birthday -
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:
-
Set the birthday role:
[p]birthdayset role @Birthdayor
/birthdayset role @BirthdayNote: 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.
-
Add roles that can use the birthday command:
[p]birthdayset addrole @Moderatoror
/birthdayset addrole @Moderator -
(Optional) Set the timezone for role expiration:
[p]birthdayset timezone America/New_Yorkor
/birthdayset timezone America/New_York -
(Optional) Set a specific channel for birthday announcements:
[p]birthdayset channel #birthdaysor
/birthdayset channel #birthdaysIf 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 roleor/birthdayset role: Set the birthday role[p]birthdayset addroleor/birthdayset addrole: Add a role that can use the birthday command[p]birthdayset removeroleor/birthdayset removerole: Remove a role from using the birthday command[p]birthdayset timezoneor/birthdayset timezone: Set the timezone for the birthday role expiration[p]birthdayset channelor/birthdayset channel: Set the channel for birthday announcements[p]birthdayor/birthday: Assign the birthday role to a user[p]bdaycheckor/bdaycheck: Check upcoming birthday role removal tasks
Support
If you encounter any issues or have questions, please open an issue on the GitHub repository.