Files
Pac-cogs/birthday/README.md
2024-11-14 21:43:01 +00:00

118 lines
3.3 KiB
Markdown

# 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](https://github.com/pacnpal/Pac-cogs).