Skip to content

feat: Add support for Guild Scheduled Event Recurrence #2749

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

DA-344
Copy link
Contributor

@DA-344 DA-344 commented Mar 23, 2025

Summary

Adds support for receiving, setting, and updating a Scheduled Event's recurrence rule.

Documentation: resources/guild-scheduled-event

Needs testing.

Information

  • This PR fixes an issue.
  • This PR adds something new (e.g. new method or parameters).
  • This PR is a breaking change (e.g. methods or parameters removed/renamed).
  • This PR is not a code change (e.g. documentation, README, typehinting,
    examples, ...).

Checklist

  • I have searched the open pull requests for duplicates.
  • If code changes were made then they have been tested.
    • I have updated the documentation to reflect the changes.
  • If type: ignore comments were used, a comment is also left explaining why.
  • I have updated the changelog to include these changes.

Comment on lines 256 to 290
@property
def weekdays(self) -> list[WeekDay]:
"""Returns a read-only list containing all the specific days
within a week on which the event will recur on.
"""
if self._weekdays is MISSING:
return []
return self._weekdays.copy()

@property
def n_weekdays(self) -> list[NWeekDay]:
"""Returns a read-only list containing all the specific days
within a specific week on which the event will recur on.
"""
if self._n_weekdays is MISSING:
return []
return self._n_weekdays.copy()

@property
def month_days(self) -> list[datetime.date]:
"""Returns a read-only list containing all the specific days
within a specific month on which the event will recur on.
"""
if self._month_days is MISSING:
return []
return self._month_days.copy()

@property
def year_days(self) -> list[int]:
"""Returns a read-only list containing all the specific days
of the year on which the event will recur on.
"""
if self._year_days is MISSING:
return []
return self._year_days.copy()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason these are read-only properties?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because as recurrence rules can be both received by API/Gw and created by users, I thought it would be better to make these properties read only and if the user wants to edit the rrule they use edit instead. (Similar as dateutil.rrule.rrule.replace)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read only makes more sense to me

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That seems inconsistent to me, no other object in the library does this

DA-344 and others added 3 commits April 1, 2025 09:53
Co-authored-by: plun1331 <plun1331@gmail.com>
Signed-off-by: DA344 <108473820+DA-344@users.noreply.github.com>
),
],
)
Creating a recurrence rule that repeats anually on July 24: ::
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is where I mean

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah okay, lol, i'll update it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants