@@ -48,6 +48,11 @@ async def an_event_handler(event: ChannelCreate):
4848 "GuildJoin" ,
4949 "GuildLeft" ,
5050 "GuildMembersChunk" ,
51+ "GuildScheduledEventCreate" ,
52+ "GuildScheduledEventUpdate" ,
53+ "GuildScheduledEventDelete" ,
54+ "GuildScheduledEventUserAdd" ,
55+ "GuildScheduledEventUserRemove" ,
5156 "GuildStickersUpdate" ,
5257 "GuildAvailable" ,
5358 "GuildUnavailable" ,
@@ -109,6 +114,7 @@ async def an_event_handler(event: ChannelCreate):
109114 from interactions .models .discord .auto_mod import AutoModerationAction , AutoModRule
110115 from interactions .models .discord .reaction import Reaction
111116 from interactions .models .discord .app_perms import ApplicationCommandPermission
117+ from interactions .models .discord .scheduled_event import ScheduledEvent
112118
113119
114120@attrs .define (eq = False , order = False , hash = False , kw_only = False )
@@ -756,3 +762,56 @@ class GuildAuditLogEntryCreate(GuildEvent):
756762
757763 audit_log_entry : interactions .models .AuditLogEntry = attrs .field (repr = False )
758764 """The audit log entry object"""
765+
766+
767+ @attrs .define (eq = False , order = False , hash = False , kw_only = False )
768+ class GuildScheduledEventCreate (BaseEvent ):
769+ """Dispatched when scheduled event is created"""
770+
771+ scheduled_event : "ScheduledEvent" = attrs .field (repr = True )
772+ """The scheduled event object"""
773+
774+
775+ @attrs .define (eq = False , order = False , hash = False , kw_only = False )
776+ class GuildScheduledEventUpdate (BaseEvent ):
777+ """Dispatched when scheduled event is updated"""
778+
779+ before : Absent ["ScheduledEvent" ] = attrs .field (repr = True )
780+ """The scheduled event before this event was created"""
781+ after : "ScheduledEvent" = attrs .field (repr = True )
782+ """The scheduled event after this event was created"""
783+
784+
785+ @attrs .define (eq = False , order = False , hash = False , kw_only = False )
786+ class GuildScheduledEventDelete (GuildScheduledEventCreate ):
787+ """Dispatched when scheduled event is deleted"""
788+
789+
790+ @attrs .define (eq = False , order = False , hash = False , kw_only = False )
791+ class GuildScheduledEventUserAdd (GuildEvent ):
792+ """Dispatched when scheduled event is created"""
793+
794+ scheduled_event_id : "Snowflake_Type" = attrs .field (repr = True )
795+ """The ID of the scheduled event"""
796+ user_id : "Snowflake_Type" = attrs .field (repr = True )
797+ """The ID of the user that has been added/removed from scheduled event"""
798+
799+ @property
800+ def scheduled_event (self ) -> Optional ["ScheduledEvent" ]:
801+ """The scheduled event object if cached"""
802+ return self .client .get_scheduled_event (self .scheduled_event_id )
803+
804+ @property
805+ def user (self ) -> Optional ["User" ]:
806+ """The user that has been added/removed from scheduled event if cached"""
807+ return self .client .get_user (self .user_id )
808+
809+ @property
810+ def member (self ) -> Optional ["Member" ]:
811+ """The guild member that has been added/removed from scheduled event if cached"""
812+ return self .client .get_member (self .guild_id , self .user .id )
813+
814+
815+ @attrs .define (eq = False , order = False , hash = False , kw_only = False )
816+ class GuildScheduledEventUserRemove (GuildScheduledEventUserAdd ):
817+ """Dispatched when scheduled event is removed"""
0 commit comments