discord-birthday
v1.2.3
Published
discord-birthday is a powerful package that allows you to create a birthday system on your discord bot easily and quickly.
Downloads
4
Maintainers
Readme
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 |
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 |