Giter Site home page Giter Site logo

scottbucher / birthdaybot Goto Github PK

View Code? Open in Web Editor NEW
71.0 2.0 12.0 2.1 MB

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

Home Page: https://discord.com/api/oauth2/authorize?client_id=656621136808902656&permissions=268659792&scope=bot

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

birthdaybot's Introduction

Birthday Bot

Discord Bots Discord Bots License Stars Discord Shield Discord Bots

Important Note

For the most detailed and up-to-date information and guide please visit the Official Birthday Bot Documentation here!

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!

Join The Support Server | Donate with Paypal!

Features:

Free Features

  • Each user can set their birthday & time zone 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.
    • Server owners can set up a custom 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 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.
    • The birthday channel is the channel where the bot will post birthday messages and you can customize:
    • 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 associated with it.
    • Each has it's own ping setting.
  • Anniversary System: Celebrate member and server anniversaries in your server!
  • Configure many more settings such as:
  • View upcoming birthdays/anniversaries.
  • Clear your information from the database at any time.
  • Near 24/7 up-time!
  • Avoid having to vote to use some commands.
  • 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 associated with it.
    • Each has it's own ping setting.
  • Setup member 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
    • Use the RequireAllTrustedRoles setting to decide if users need all trusted roles or just one to have their birthday celebrated.
  • Set the trusted prevents ping 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 for these settings to work.
    • Set 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 for all celebration types! (Threads & Pins!)
  • Even more settings:
  • 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. Please visit our FAQ and setup guide, as well as previous user questions, before contacting staff. Thanks!

Example Birthday Announcement (Fully customizable):

Example Birthday Announcement

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

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.

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

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

Time zone input Modal

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

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

Birthday input modal

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

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

End

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.

As the message states, birth years are hidden in all servers by default. Learn more about Birthday Bot's user privacy settings here.

Finding your time zone

Kevin Novak has created a handy map 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

Help

For additional help join the support server here.

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.

birthdaybot's People

Contributors

dependabot[bot] avatar kevinnovak avatar scottbucher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

birthdaybot's Issues

Not removing birthday's

Hi there I have an issue with the birthday not not removing birthday roles after 24hrs. It's been 2 days and a user still hasn't had the role removed by the bot. Is there a command for the bot we can use to remove the role ourselves instead if having the server owner do it?

"This interaction has failed"

I'm trying to set the birthday for one of my user and it keeps giving me the error "This interaction failed" after trying to press the confirm checkmark after all the information has been input.

Any fixes for this?

enhancement: Change Premium system to be based around tiers so users pay for what they want.

Restructure APS & the Birthday Bot Premium system to be based around a Tier system where servers can choose to pay for what they want.

Current Systems:

  • Birthday System
  • Anniversary System
  • Custom Events / Holidays (Coming Soon!)

Each system will have a premium version attached to it and servers can choose which they would like to pay for (so they don't have to get what they won't use!) or they can choose multiple/all for a reduced price.

Possible ways to implementation:

Each system has a premium:

  • Birthday System Premium
  • Anniversary System Premium
  • Custom Events / Holidays (Coming Soon!) Premium
  • All in one premium

Tier based (User Choice):

  • Tier 1: One of the 3 systems
  • Tier 2: Two of the 3 systems (x% off)
  • Tier 3: All of the systems (x% off)

All current subscribers would keep their current subscription agreement as long as they meet payments, however, new subscriptions would, obviously, be in the new format discussed above.

feature: Combine message and mention message for celebrations

When a message is being sent, with an embed setting of false, include the mention setting message, if set, to send in the same message. This reduces the total number of messages Birthday Bot has to send.

Check if this is at all possible with Message Embeds as well.

Licensing

Your project appears to be a derivative of Discord-Bot-TypeScript-Template, whilst MIT is ‘non-infectious’ you are required to maintain the notice

Further, you declare your ‘No License’ intentions in the README — yet your packages are MIT'ed, ironically this is probably an oversight having been retained from the aforementioned package

Finally, I would ask that you reconsider your ‘No License’ decision, perhaps a restrictive licence such as AGPL would achieve your goals?

IANAL

enhancement: Switch the reaction based system to Buttons

Buttons will be supported in discord.js v13 which is set to release soon (hopefully). Birthday Bot will be switching to a button-based system (from reaction-based) to manage lists & confirmation-based commands/systems.

Buttons, iirc, will be much more responsive and overall just a better system for Birthday Bot to manage lists and confirmations.

feature: Add an option for creating a thread on a custom message

Threads will be supported in discord.js v13 and threads could be used as a feature for celebration event announcements. Essentially, each message could have a thread added to it for people to discuss birthdays/anniversaries/etc.

This would be a togglable option and most likely be based on the celebration event. (ie. option for threads for each specific celebration event).

Birthday early reminder

Hey Birthday bot team,

I was wondering whether an option for early bday reminders could become a thing.

We are using the bot to keep track of our dnd players bdays and an early reminder would be an amazing feature to have so we could pre plan something. I'm not sure if this is the right place to put this but here it is ^^

Keep up the good work!

enhancement: Switch to slash commands

Slash commands will be supported in discord.js v13 which is set to release soon (hopefully). Birthday Bot will be switching to a slash command-based system which will replace the old prefix-based command system.

Slash commands will allow Birthday Bot to no longer need the message intent (which is being switched to a privileged intent).

To determine:

  • Honeymoon period? - Should both slash commands and prefix-based commands be supported for a time?

not removing birthdays

The bot is assigning the birthday role to various people and then never removing it.

We haven't changed the role or its settings in over a year. We have someone right now who had the birthday role since 16th july.

Without a discord to approach for support i found this github via top.gg which is the only place i can log the issue. Can you please investigate?

Moderator "You don't have permission to run that command!"

I have the following permissions:
image
(I'm happy to share the ones below but I doubt they're relevant)
However, when I run "bday setup" I get the message "You don't have permission to run that command!"
It's a little hard to follow the code so I can't tell exactly what permission(s) I'm expected to have to run this command. Am I required to be an Administrator? If so, could the documentation be updated to state that?

Purge birthdays for users who have left the server.

We're a fair sized server and have had lots of members leave over time. The bot still drops happy birthday message for ex-members - is there any way to prevent that or clean it up so only current server members are birthday'd?

Screenshot 2024-01-30 at 9 02 52 AM

feature: Prioritize premium servers during the celebration job

When preparing to loop through guilds in the celebration job and run the celebration service for each guild, put premium servers at the start of the guild list. This means their messages, roles, etc. will be sent closer towards the hour start.

This can also be structured in such a way that whatever system they are subscribed to is which they are prioritized in reference to #150. (Or simply prioritize all premium guilds for all systems regardless of the specific premium they chose)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.