discord-birthday
TypeScript icon, indicating that this package has built-in type declarations

1.2.3 • Public • Published

Discord Birthday

discord-birthday is a powerful package that allows you to create a birthday system on your discord bot easily and quickly.

Installation

Download package

npm install discord-birthday
npm install @ayrozdzn/discord-birthday
yarn add discord-birthday

Connect to your discord bot

const { Birthday, Timezone } = require("discord-birthday"); // or @ayrozdzn/discord-birthday
const { Client } = require("discord.js");

const client = new Client({ ... });

client.birthday = new Birthday(client, {
    timezone: Timezone.UTC,
    hour: 10,
    minute: 0,
});
Parameter Type Optional Default Description
client Client The discord client
timezone Timezone Timezone.UTC Your timezone
hour Number 10 A number between 0 and 23
minute Number 0 A number between 0 and 59

Methods

setUserBirthday

client.birthday.setUserBirthday(user, date, seeAge)
Parameter Type Optional Default Description
user User The user whose birthday is to be set
date Date The birthday date
seeAge Boolean true Set the visibility variable accessible after

returns : Birthday

getUserBirthday

client.birthday.getUserBirthday(user).then((birthday) => {
    console.log(birthday)
    /*
    {
        user: <User>,
        seeAge: <Boolean>,
        date: <Date>,
        age: <Number>,
        nextBirthday: <Date>,
        daysBeforeNext: <Number>,
        guilds: <Array<Guild>>,
    }
    */
}).catch((err) => console.error(err));
Parameter Type Description
user User The user whose birthday is to be collected

returns : Promise <Object>

deleteUserBirthday

client.birthday.deleteUserBirthday(user)
Parameter Type Description
user User The user whose birthday is to be delete

returns : Birthday

getGuildBirthdays

client.birthday.getGuildBirthdays(guild).then((birthdays) => {
    console.log(birthdays)
    /*
    [
        {
            member: <GuildMember>,
            seeAge: <Boolean>,
            date: <Date>,
            age: <Number>,
            nextBirthday: <Date>,
            daysBeforeNext: <Number>,
            guild: <Guild>
        },
        ...
    ]
    */
}).catch((err) => console.error(err));
Parameter Type Description
guild Guild The guild in which the birthdays are to be collected

returns : Promise <Array[Object]>

activateMemberBirthday

client.birthday.activateMemberBirthday(member) // return error if already activated or member has no birthday set
Parameter Type Description
member GuildMember The member whose birthday is to be activated

returns : Birthday

deactivateMemberBirthday

client.birthday.deactivateMemberBirthday(member) // return error if already deactivated or member has no birthday set
Parameter Type Description
member GuildMember The member whose birthday is to be deactivated

returns : Birthday

checkMemberGuildBirthdaysStatus

const status = client.birthday.checkMemberGuildBirthdaysStatus(member) // returns true or false
Parameter Type Description
member GuildMember The member whose birthday is checked

returns : boolean

setGuildBirthdayChannel

client.birthday.setGuildBirthdayChannel(channel)
Parameter Type Description
channel TextChannel The channel in which the birthdays will be wished

returns : Birthday

getGuildBirthdayChannel

client.birthday.getGuildBirthdayChannel(guild).then((channel) => {
    console.log(channel) /* <NonThreadGuildBasedChannel> */
}).catch((err) => console.error(err));
Parameter Type Description
guild Guild The guild in which the channel is to be collected

returns : Promise <GuildChannel>

deleteGuildBirthdayChannel

client.birthday.deleteGuildBirthdayChannel(guild)
Parameter Type Description
guild Guild The guild in which the birthdays channel will be delete

returns : Birthday

Events

isBirthday

client.birthday.on("isBirthday", (user, guilds) => {
    console.log(`The birthday of ${user.tag} has been wished in ${guilds.length}`);
    guilds.forEach(guild => {
        guild.channels.get("...").send({content: `It's the birthday of ${member.user.tag}`})
    })
});
Parameter Type Description
user User The user whose birthday has been wished
guilds Array <Guild> Array of all guild where the birthday has been wished

birthdayUserSet

client.birthday.on("birthdayUserSet", (user, date) => {
    console.log(`The birthday of ${user.tag} is ${date.toDateString()}`);
});
Parameter Type Description
user User The user whose birthday has been set up
date Date The birthday date

birthdayUserDelete

client.birthday.on("birthdayUserDelete", (user) => {
    console.log(`The birthday of ${user.tag} has been delete`);
});
Parameter Type Description
user User The user whose birthday has been deleted

birthdayMemberActivate

client.birthday.on("birthdayMemberActivate", (member) => {
    console.log(`The birthday of ${member.user.tag} has been activated in ${member.guild.name}`);
});
Parameter Type Description
member GuildMember The member whose birthday has been activated

birthdayMemberDeactivate

client.birthday.on("birthdayMemberDeactivate", (member) => {
    console.log(`The birthday of ${member.user.tag} has been deactivated in ${member.guild.name}`);
});
Parameter Type Description
member GuildMember The member whose birthday has been deactivated

birthdayGuildChannelSet

client.birthday.on("birthdayGuildChannelSet", (channel) => {
    console.log(`The birthday channel ${channel.name} has been set for the guild ${channel.guild.name}`);
});
Parameter Type Description
channel GuildChannel The channel whose birthday channel has been set up

birthdayGuildChannelDelete

client.birthday.on("birthdayGuildChannelSet", (guild) => {
    console.log(`The birthday channel of ${guild.name} has been delete`);
});
Parameter Type Description
guild Guild The Guild whose birthday channel has been delete

Package Sidebar

Install

npm i discord-birthday

Weekly Downloads

3

Version

1.2.3

License

MIT

Unpacked Size

67.2 kB

Total Files

9

Last publish

Collaborators

  • ayrozdzn