Create cakedays function.
This commit is contained in:
@@ -54,6 +54,8 @@ class DailyLoop(commands.Cog, name="Daily Loop"):
|
|||||||
kandy: nextcord.User = await self.bot.fetch_user(239547993106284544)
|
kandy: nextcord.User = await self.bot.fetch_user(239547993106284544)
|
||||||
await kandy.send('Happy "Birthday"!')
|
await kandy.send('Happy "Birthday"!')
|
||||||
|
|
||||||
|
await self.cakedays()
|
||||||
|
|
||||||
@daily_loop.before_loop
|
@daily_loop.before_loop
|
||||||
async def before_loop(self):
|
async def before_loop(self):
|
||||||
"""
|
"""
|
||||||
@@ -104,3 +106,22 @@ class DailyLoop(commands.Cog, name="Daily Loop"):
|
|||||||
with Session(engine) as session:
|
with Session(engine) as session:
|
||||||
to_add = session.scalars(stmt)
|
to_add = session.scalars(stmt)
|
||||||
birthday_list.extend(to_add.all())
|
birthday_list.extend(to_add.all())
|
||||||
|
|
||||||
|
async def cakedays(self) -> None:
|
||||||
|
"""
|
||||||
|
Loops through the guild's humans checking for joined_at dates that match today's date. Sends a message
|
||||||
|
saying happy cakeday.
|
||||||
|
"""
|
||||||
|
|
||||||
|
today = datetime.today()
|
||||||
|
guild: nextcord.Guild = self.bot.get_guild(self.bot.config.params.guild_id)
|
||||||
|
announce_channel: nextcord.TextChannel = guild.get_channel(self.bot.config.params.announcement_category_id)
|
||||||
|
|
||||||
|
cakedays: list[nextcord.Member] = [
|
||||||
|
human for human in guild.humans if human.joined_at.month == today.month and human.joined_at.day == today.day
|
||||||
|
]
|
||||||
|
|
||||||
|
for member in cakedays:
|
||||||
|
years = today.year - member.joined_at.year
|
||||||
|
msg = f"Happy Cake day! <@{member.id}> joined the discord {years} ago!"
|
||||||
|
await announce_channel.send(msg)
|
||||||
|
|||||||
Reference in New Issue
Block a user