Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/scottbucher/BirthdayBot

Discord Bot - Track and celebrate birthdays in your discord server!
https://github.com/scottbucher/BirthdayBot

birthday birthday-bot chatbot discord discord-bot discordbot discordjs discordjs-bot discordjs-v14 timezones-support

Last synced: about 1 month ago
JSON representation

Discord Bot - Track and celebrate birthdays in your discord server!

Awesome Lists containing this project

README

        

# Birthday Bot

[![Discord Bots](https://top.gg/api/widget/servers/656621136808902656.svg?noavatar=true)](https://top.gg/bot/656621136808902656)
[![Discord Bots](https://top.gg/api/widget/status/656621136808902656.svg?noavatar=true)](https://top.gg/bot/656621136808902656)
[![License](https://img.shields.io/badge/license-No%20License-blue)](https://choosealicense.com/no-permission/)
[![Stars](https://img.shields.io/github/stars/scottbucher/BirthdayBot.svg)](https://github.com/scottbucher/BirthdayBot/stargazers)
[![Discord Shield](https://discord.com/api/guilds/660711235766976553/widget.png?style=shield)](https://discord.com/invite/39w2cnBRa2)
[![Discord Bots](https://top.gg/api/widget/owner/656621136808902656.svg?noavatar=true)](https://top.gg/bot/656621136808902656)

## Important Note

**For the most detailed and up-to-date information and guide please visit the Official Birthday Bot Documentation [here!](https://birthdaybot.scottbucher.dev)**

**Discord Bot** - Celebrate Birthdays, Custom Events, Member Anniversaries and Server Anniversaries with the most customizable Birthday bot! Configure messages, roles, channels, and much more to your liking! Use `/set` to set your birthday and time zone, `/setup` to setup your server, and `/help` to see all commands as well as more information about the bot!

## [Click here to add Birthday Bot to your Discord server!](https://discord.com/api/oauth2/authorize?client_id=656621136808902656&permissions=268921936&scope=bot%20applications.commands)

[Join The Support Server](https://discord.gg/39w2cnBRa2) | [Donate with Paypal!](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=PE97AGAPRX35Q&currency_code=USD&source=url)

# Features:

## Free Features

- Each user can [set their birthday & time zone](https://birthdaybot.scottbucher.dev/setting-your-birthday) into the bot which stores that information into a database allowing the bot to know on what day and what time zone to celebrate the user's birthday
- Birthday System: Celebrate birthdays in your server!
- By default, birthdays are shown in all servers with Birthday Bot, and birthd years/ages are hidden. Users and server owners can customize this:
- Users can use `/user` to edit their global settings and `/user_server` to edit their server specific settings. [User Privacy Settings](https://birthdaybot.scottbucher.dev/faq-1/user/user-privacy).
- Server owners can set up a custom [birthday blacklist](https://birthdaybot.scottbucher.dev/faq-1/birthday-system#what-is-the-birthday-blacklist) to blacklist certain users and/or roles from having their birthday celebrated and shown in the server.
- Server owners can set up the [trusted role system](https://birthdaybot.scottbucher.dev/faq-1/birthday-system/trusted-system) in order to lock certain or all things related to the birthday system behind a specific role.
- Customize if the trusted role prevents users from receiving the birthday role, birthday message, and/or appear in the `/next` and `/list` command.
- Server owners can disable all ages in their server with the [disable ages setting](https://birthdaybot.scottbucher.dev/faq-1/birthday-system#what-is-the-disable-ages-setting).
- The [birthday channel](https://birthdaybot.scottbucher.dev/faq-1/birthday-system#what-is-the-birthday-channel) is the channel where the bot will post birthday messages and you can customize:
- Up to 3 unique birthday messages. [Learn more about custom messages](https://birthdaybot.scottbucher.dev/faq-1/custom-messages).
- The [time](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-the-message-time) of day the birthday messages are posted.
- Whether birthdays are celebrated based on the user's time zone or the server's time zone using the [use time zone setting](https://birthdaybot.scottbucher.dev/faq-1/birthday-system#what-is-the-use-time-zone-setting).
- A custom [ping setting](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-a-message-ping) for all birthday messages.
- The [birthday role](https://birthdaybot.scottbucher.dev/faq-1/birthday-system#what-is-the-birthday-role) is the role that will be given to users on their birthday and taken from those whose birthday it isn't.
- Custom Event System: Create a custom event that will be celebrated in your server.
- Each custom event has a date, time, and optional year. If given a year, the event will only happen once on that year otherwise, it will repeat annually.
- Each event has a [custom message](https://birthdaybot.scottbucher.dev/faq-1/custom-messages) associated with it.
- Each has it's own [ping setting](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-a-message-ping).
- Anniversary System: Celebrate member and server anniversaries in your server!
- Requires the [server time zone](https://birthdaybot.scottbucher.dev/faq-1/general#what-is-the-server-time-zone-setting) to be set
- Customize:
- Up to 3 unique member anniversary messages [Learn more about custom messages](https://birthdaybot.scottbucher.dev/faq-1/custom-messages).
- Up to 1 unique server anniversary message [Learn more about custom messages](https://birthdaybot.scottbucher.dev/faq-1/custom-messages).
- The [time](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-the-message-time) of day the anniversary messages are posted.
- A custom [ping setting](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-a-message-ping) for all anniversary messages.
- Configure many more settings such as:
- [Name format settings](https://birthdaybot.scottbucher.dev/faq-1/general#what-is-the-name-format-setting) which decide how the bot displays names in custom messages, the `/list` command, and everywhere else!
- How dates are detected in your server with the [date format setting](https://birthdaybot.scottbucher.dev/faq-1/general#what-is-the-date-format-setting).
- View upcoming birthdays/anniversaries.
- Clear your information from the database at any time.
- Near 24/7 up-time!

## [Premium Features](https://birthdaybot.scottbucher.dev/premium-features):

- Avoid having to vote to use some commands.
- [Priority message posting](https://birthdaybot.scottbucher.dev/premium-features#priority-message-posting).
- Custom Event System: Create up to 500 custom events that will be celebrated in your server!
- Each custom event has a date, time, and optional year. If given a year, the event will only happen once on that year otherwise, it will repeat annually.
- Each event has a [custom message](https://birthdaybot.scottbucher.dev/faq-1/custom-messages) associated with it.
- Each has it's own [ping setting](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-a-message-ping).
- Setup [member anniversary roles](https://birthdaybot.scottbucher.dev/faq-1/member-anniversaries#what-are-anniversary-roles) to celebrate how long members have been in your discord
- For example, the **3-Year Veteran** role can be set to be given on a member's 3 year anniversary in your discord.
- Setup Multiple [trusted roles](https://birthdaybot.scottbucher.dev/faq-1/birthday-system/trusted-system#do-i-need-to-set-up-the-trusted-role)
- Use the [**RequireAllTrustedRoles**](https://birthdaybot.scottbucher.dev/faq-1/birthday-system/trusted-system#what-is-the-require-all-trusted-role-setting) setting to decide if users need all trusted roles or just one to have their birthday celebrated.
- Set the [trusted prevents ping](https://birthdaybot.scottbucher.dev/faq-1/birthday-system/trusted-system#what-is-the-trusted-prevents-message-role-ping-appearance-setting) setting to decide if the trusted role prevents users from receiving the birthday ping.
- More control over the Custom Message(s).
- Up to **500** custom birthday messages (_vs_ **_3_** _for free_).
- Up to **500** custom member anniversary messages (_vs_ **_3_** _for free_).
- Up to **500** custom server anniversary messages (_vs_ **_1_** _for free_).
- Fully customize embedded custom messages.
- Custom color, image, title and footer. The message must be [embedded](https://birthdaybot.scottbucher.dev/faq-1/custom-messages#what-is-a-message-embed-setting) for these settings to work.
- Set [user-specific custom messages](https://birthdaybot.scottbucher.dev/premium-features#user-specific-custom-messages) for both birthdays and member anniversaries.
- One custom message per user
- Unlimited user-specific messages per server
- Permanent Lists
- Generates a list like the `/list` command, but the list is permanent and updated hourly by the bot.
- Available able for both birthdays and member anniversaries.
- Custom [post modes](https://birthdaybot.scottbucher.dev/faq-1/general#what-is-the-post-mode-setting) for all celebration types! (Threads & Pins!)
- Even more settings:
- [Filter your custom birthday messages](https://birthdaybot.scottbucher.dev/faq-1/birthday-system#what-is-the-filter-birthday-age-messages-setting-premium-only) by what placeholders they have.
- Support Development!
- Since I started Birthday Bot, I have maintained development and server costs completely out of my own pocket, Birthday Bot Premium allows me to continue to maintain development as Birthday Bot continues to gain tens of thousands of servers each month.
- Subscriptions to Birthday Bot Premium go straight to server costs.

### Support and Troubleshooting

Birthday Bot is a part of the Arilyn Bot family, and any support, questions, or feedback are welcome in our support [Discord](https://discord.com/invite/39w2cnBRa2). Please visit our [FAQ](https://birthdaybot.scottbucher.dev/faq) and setup guide, as well as previous user questions, before contacting staff. Thanks!

**Example Birthday Announcement (Fully customizable):**

![Example Birthday Announcement](https://birthday-bot-docs-images.s3.amazonaws.com/example-birthday-message.gif)

In your Discord server Birthday Bot will track your users' birthdays and using their time zone celebrate their birthday through its customizable birthday role and message. Even if you have a large discord, use Birthday Bots trusted-role system to only celebrate the users you want to avoid the spam of tracking everyone. Similar messages can also be setup to celebrate the anniversary of members joining your discord server and the anniversary of the server itself!

## Setting your birthday

Birthday Bot makes everything easy using an easy-to-follow process.

Start by using `/set`.

![Default time zone prompt](https://birthday-bot-docs-images.s3.amazonaws.com/1-Set+command+with+default+time+zone+prompt.png)

If your server has a default time zone set, you will be asked if you would like to use that time zone. If you do, simply press the check mark; if not, choose the x.

Birthday Bot uses time zones to detect when to celebrate each user's birthday. If you are unsure of your time zone, you can find it [here](https://github.com/scottbucher/BirthdayBot/blob/master/README.md#finding-your-time-zone).

If you chose the x or your server does not have a default time zone set, you will receive another prompt asking for your time zone

![Time zone input](https://birthday-bot-docs-images.s3.amazonaws.com/2-birthday+bot+time+zone+set+up+in+set+command.png)

Please press the "Enter Response" button and you will see a text input modal like the one below

![Time zone input Modal](https://birthday-bot-docs-images.s3.amazonaws.com/3-time+zone+input+modal.png)

In the text box please enter your time zone and click submit.

Birthday Bot will now know your time zone and will use this to know what time to celebrate your birthday!

Now, Birthday Bot will prompt you to put your Birth Month & Date as well as the option to add your birth year.

![Birthday prompt](https://birthday-bot-docs-images.s3.amazonaws.com/4-birthday+input+prompt.png)

Simply click the "Enter response" button as you did for adding your time zone.

![Birthday input modal](https://birthday-bot-docs-images.s3.amazonaws.com/5-birthday+input+modal.png)

In the text box enter your birth month and day along with your birth year if you want (it is not required) and click submit.

Finally, the confirmation menu will appear.

![Confirmation](https://birthday-bot-docs-images.s3.amazonaws.com/6-birthday+save+confirmation.png)

Ensure this is the correct information, then confirm by clicking the checkmark.

![End](https://birthday-bot-docs-images.s3.amazonaws.com/7-birthday+set+success+message.png)

For users that is it! Server owners will have to do a bit more but Birthday Bot makes it easy with an interactive setup. For more information on server setup follow our guide [here](https://birthdaybot.scottbucher.dev/server-setup/required-setup).

As the message states, birth years are hidden in all servers by default. Learn more about Birthday Bot's user privacy settings [here](https://birthdaybot.scottbucher.dev/faq-1/user/user-privacy).

## Finding your time zone

[Kevin Novak](https://github.com/KevinNovak) has created a handy [map time zone picker](https://kevinnovak.github.io/Time-Zone-Picker/)!

Simply click your location on the map and copy the name of the selected time zone. You can then use it in the `/set` command.

![Setting your time zone](https://birthday-bot-docs-images.s3.amazonaws.com/2-birthday+bot+time+zone+set+up+in+set+command.png)

## Help

For additional help join the support server [here](https://discord.gg/39w2cnBRa2).

## License

Birthday Bot does not have a license. This means, while Birthday Bot's code is public to anyone, you do **NOT** have permission to modify or redistribute this code. Since there is no license, the default copyright laws apply, meaning that I retain all rights to the source code and no one may reproduce, distribute, or create derivative works from it. For more details please visit [here](https://choosealicense.com/no-permission/).