Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
43227c4
at first i only wanted to add cached members...
Lumabots Dec 9, 2025
fe47678
correcting some bs, like some unknow type added for i dont know what …
Lumabots Dec 9, 2025
fff9b3b
use discord variable name, try an implementation for audit logs
Lumabots Dec 9, 2025
9e6a986
feat: add recurrence support for scheduled events with new enums and …
Lumabots Dec 9, 2025
7b2c31f
refactor: remove ScheduledEventLocation class and related attributes …
Lumabots Dec 9, 2025
5a2581e
feat: enhance scheduled event recurrence with validation and serializ…
Lumabots Dec 9, 2025
973a3d2
Merge branch 'master' into on_scheduled_event_delete
Lumabots Dec 9, 2025
9d1d5d7
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 9, 2025
8c85a05
revert breaking change
Lumabots Dec 10, 2025
40d79b6
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 10, 2025
b5dc3e9
Update discord/enums.py
Lumabots Dec 12, 2025
405f2c6
Merge branch 'master' into on_scheduled_event_delete
Lumabots Dec 12, 2025
13420ce
paillat comment
Lumabots Dec 12, 2025
469a7b5
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 12, 2025
a2f09fe
feat: add overloads for ScheduledEventRecurrenceRule constructor
Lumabots Dec 12, 2025
7e42577
Merge branch 'master' into on_scheduled_event_delete
Lumabots Dec 29, 2025
1c50c9e
Merge branch 'master' into on_scheduled_event_delete
Lumabots Jan 16, 2026
2ff8daf
Merge branch 'master' into on_scheduled_event_delete
Lumabots Jan 16, 2026
6dfd511
refactor: 🗑️ Remove scheduled event recurrence classes and related at…
Lumabots Jan 16, 2026
7fdf52e
Update scheduled_events.py
Lumabots Jan 16, 2026
bafd549
refactor: 🗑️ Change _cached_subscribers from dict to set for improved…
Lumabots Jan 16, 2026
8f887d3
paillat comment
Lumabots Jan 16, 2026
6772e09
Update discord/enums.py
Lumabots Jan 16, 2026
79194b5
refactor: 🗑️ Update location type references and deprecate 'cover' pa…
Lumabots Jan 16, 2026
70c37cb
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 16, 2026
2800a08
refactor: 🗑️ Remove unnecessary calls to _add_scheduled_event in Conn…
Lumabots Jan 16, 2026
b9ddb02
refactor: 🗑️ Enhance create_scheduled_event method with overloads and…
Lumabots Jan 16, 2026
7b4f7f5
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 16, 2026
44fbd76
Merge branch 'master' into on_scheduled_event_delete
Lumabots Feb 15, 2026
a548783
reverse
Lumabots Feb 15, 2026
a594faa
feat: Add entity metadata transformation for scheduled events in audi…
Lumabots Feb 15, 2026
294dc39
Merge branch 'master' into on_scheduled_event_delete
Paillat-dev Feb 28, 2026
ef960ff
refactor: Update deprecated property decorators to use typing_extensions
Lumabots Mar 2, 2026
8c4c395
fix: Update type hint for _transform_entity_metadata to specify dict[…
Lumabots Mar 2, 2026
b1bbf52
Merge branch 'master' into on_scheduled_event_delete
Lumabots Mar 2, 2026
ddd0c0e
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 2, 2026
28b4682
fix: improve docstring wording of display methods (#3120)
Lee4test Apr 12, 2026
c78136d
fix: Update privacy_level default to MISSING and add deprecation warning
Lumabots Apr 13, 2026
7022e67
Merge branch 'master' into on_scheduled_event_delete
Paillat-dev Apr 13, 2026
b86cd07
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Apr 13, 2026
124169b
Merge branch 'master' into on_scheduled_event_delete
Paillat-dev Apr 17, 2026
8cd3495
feat: Misc changes and fixes
Paillat-dev Apr 17, 2026
61078d3
fix: Refactor comparison methods and update VoiceRegion enum values
Lumabots Apr 29, 2026
45c2beb
fix: Add TypeError for unresolved entity_type in Guild class
Lumabots Apr 29, 2026
425be22
Merge branch 'master' into on_scheduled_event_delete
Lumabots Apr 29, 2026
b01dbcf
Merge branch 'master' into on_scheduled_event_delete
Lumabots May 7, 2026
207396e
Merge branch 'master' into on_scheduled_event_delete
Lumabots May 23, 2026
fd65324
reverse voice region change by mistake
Lumabots May 23, 2026
38e0034
Merge branch 'on_scheduled_event_delete' of https://github.com/Pycord…
Lumabots May 23, 2026
4742b65
paillait comment
Lumabots May 23, 2026
fe312f0
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 23, 2026
44ae828
Merge branch 'master' into on_scheduled_event_delete
Paillat-dev Jun 10, 2026
e216d2e
Fix a bunch of stuff
Paillat-dev Jun 10, 2026
ea24bd3
chore: Undo, will do this later
Paillat-dev Jun 10, 2026
373c815
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 10, 2026
c8536da
docs: CHANGELOG.md
Paillat-dev Jun 10, 2026
cc87293
style(pre-commit): auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 10, 2026
d87c944
fix: Allow because of deprecation
Paillat-dev Jun 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ These changes are available on the `master` branch, but have not yet been releas

### Added

- Added `ScheduledEventEntityType` enum and `ScheduledEventEntityMetadata` class, added
missing attributes and API-aligned parameters to `ScheduledEvent`,
`Guild.create_scheduled_event`, and `ScheduledEvent.edit`, and added `use_cache` to
`ScheduledEvent.subscribers()`.
([#3025](https://github.com/Pycord-Development/pycord/pull/3025))

### Changed

### Fixed
Expand All @@ -22,9 +28,15 @@ These changes are available on the `master` branch, but have not yet been releas
([#3231](https://github.com/Pycord-Development/pycord/pull/3231))
- Allow `ForumTag` to be created without an emoji.
([#3245](https://github.com/Pycord-Development/pycord/pull/3245))
- Fixed `ScheduledEvent` subscriber cache not being kept in sync correctly.
([#3025](https://github.com/Pycord-Development/pycord/pull/3025))

### Deprecated

- Deprecated `ScheduledEventLocationType`, `ScheduledEventLocation`, and several
`ScheduledEvent` attributes and related methods' parameters in favor of their
API-aligned names. ([#3025](https://github.com/Pycord-Development/pycord/pull/3025))

### Removed

## [2.8.0] - 2026-05-18
Expand Down
77 changes: 42 additions & 35 deletions discord/audit_logs.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,10 +277,7 @@ class AuditLogChanges:
"format_type": (None, _enum_transformer(enums.StickerFormatType)),
"type": (None, _transform_type),
"status": (None, _enum_transformer(enums.ScheduledEventStatus)),
"entity_type": (
"location_type",
_enum_transformer(enums.ScheduledEventLocationType),
),
"entity_type": (None, _enum_transformer(enums.ScheduledEventEntityType)),
"command_id": ("command_id", _transform_snowflake),
"image_hash": ("image", _transform_scheduled_event_image),
"trigger_type": (None, _enum_transformer(enums.AutoModTriggerType)),
Expand Down Expand Up @@ -318,7 +315,11 @@ def __init__(
"$add_allow_list",
]:
self._handle_trigger_metadata(
self.before, self.after, entry, elem["new_value"], attr # type: ignore
self.before,
self.after,
entry,
elem["new_value"],
attr, # type: ignore
)
continue
elif attr in [
Expand All @@ -327,7 +328,11 @@ def __init__(
"$remove_allow_list",
]:
self._handle_trigger_metadata(
self.after, self.before, entry, elem["new_value"], attr # type: ignore
self.after,
self.before,
entry,
elem["new_value"],
attr, # type: ignore
)
continue

Expand All @@ -349,21 +354,6 @@ def __init__(
if transformer:
before = transformer(entry, before)

if attr == "location" and hasattr(self.before, "location_type"):
from .scheduled_events import ScheduledEventLocation

if (
self.before.location_type
is enums.ScheduledEventLocationType.external
):
before = ScheduledEventLocation(state=state, value=before)
elif hasattr(self.before, "channel"):
before = ScheduledEventLocation(
state=state, value=self.before.channel
)

setattr(self.before, attr, before)

try:
after = elem["new_value"]
except KeyError:
Expand All @@ -372,22 +362,34 @@ def __init__(
if transformer:
after = transformer(entry, after)

if attr == "location" and hasattr(self.after, "location_type"):
from .scheduled_events import ScheduledEventLocation

if (
self.after.location_type
is enums.ScheduledEventLocationType.external
):
after = ScheduledEventLocation(state=state, value=after)
elif hasattr(self.after, "channel"):
after = ScheduledEventLocation(
state=state, value=self.after.channel
)

setattr(self.before, attr, before)
setattr(self.after, attr, after)
if attr == "location":
from .scheduled_events import ScheduledEventEntityMetadata

setattr(
self.after,
"entity_metadata",
(
ScheduledEventEntityMetadata(location=after)
if after is not None
else None
),
)
setattr(
self.before,
"entity_metadata",
(
ScheduledEventEntityMetadata(location=before)
if before is not None
else None
),
)

# add an alias
if hasattr(self.after, "entity_type"):
self.after.location_type = self.after.entity_type
self.before.location_type = self.before.entity_type
if hasattr(self.after, "colour"):
self.after.color = self.after.colour
self.before.color = self.before.colour
Expand Down Expand Up @@ -691,7 +693,12 @@ def _convert_target_invite(self, target_id: int) -> Invite:
"uses": changeset.uses,
}

obj = Invite(state=self._state, data=fake_payload, guild=self.guild, channel=changeset.channel) # type: ignore
obj = Invite(
state=self._state,
data=fake_payload,
guild=self.guild,
channel=changeset.channel,
) # type: ignore
try:
obj.inviter = changeset.inviter
except AttributeError:
Expand Down
34 changes: 20 additions & 14 deletions discord/enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
from enum import IntEnum
from typing import TYPE_CHECKING, Any, ClassVar, TypeVar, Union

from typing_extensions import deprecated

__all__ = (
"Enum",
"ChannelType",
Expand Down Expand Up @@ -62,6 +64,7 @@
"EmbeddedActivity",
"ScheduledEventStatus",
"ScheduledEventPrivacyLevel",
"ScheduledEventEntityType",
"ScheduledEventLocationType",
"InputTextStyle",
"SlashCommandOptionType",
Expand Down Expand Up @@ -96,21 +99,17 @@ def _create_value_cls(name, comparable):
cls.__repr__ = lambda self: f"<{name}.{self.name}: {self.value!r}>"
cls.__str__ = lambda self: f"{name}.{self.name}"
if comparable:
cls.__le__ = (
lambda self, other: isinstance(other, self.__class__)
and self.value <= other.value
cls.__le__ = lambda self, other: (
isinstance(other, self.__class__) and self.value <= other.value
)
cls.__ge__ = (
lambda self, other: isinstance(other, self.__class__)
and self.value >= other.value
cls.__ge__ = lambda self, other: (
isinstance(other, self.__class__) and self.value >= other.value
)
cls.__lt__ = (
lambda self, other: isinstance(other, self.__class__)
and self.value < other.value
cls.__lt__ = lambda self, other: (
isinstance(other, self.__class__) and self.value < other.value
)
cls.__gt__ = (
lambda self, other: isinstance(other, self.__class__)
and self.value > other.value
cls.__gt__ = lambda self, other: (
isinstance(other, self.__class__) and self.value > other.value
)
return cls

Expand Down Expand Up @@ -970,13 +969,20 @@ def __int__(self):
return self.value


class ScheduledEventLocationType(Enum):
"""Scheduled event location type"""
class ScheduledEventEntityType(Enum):
"""Scheduled event entity type"""

stage_instance = 1
voice = 2
external = 3

def __int__(self):
return self.value


# TODO(Paillat-dev): Add @deprecated notice using warnings.deprecated or in some other way
ScheduledEventLocationType = ScheduledEventEntityType


class AutoModTriggerType(Enum):
"""Automod trigger type"""
Expand Down
Loading
Loading