55
66Copyright (c) 2015-present Rapptz
77
8- Implementing of the Discord-Message-components made by mccoderpy (Discord-User mccuber04#2960)
9-
108Permission is hereby granted, free of charge, to any person obtaining a
119copy of this software and associated documentation files (the "Software"),
1210to deal in the Software without restriction, including without limitation
3028from .message import Message
3129from .errors import NotFound
3230
31+
3332class _RawReprMixin :
3433 def __repr__ (self ):
3534 value = ' ' .join ('%s=%r' % (attr , getattr (self , attr )) for attr in self .__slots__ )
3635 return '<%s %s>' % (self .__class__ .__name__ , value )
3736
37+
3838class RawMessageDeleteEvent (_RawReprMixin ):
3939 """Represents the event payload for a :func:`on_raw_message_delete` event.
4040
@@ -61,6 +61,7 @@ def __init__(self, data):
6161 except KeyError :
6262 self .guild_id = None
6363
64+
6465class RawBulkMessageDeleteEvent (_RawReprMixin ):
6566 """Represents the event payload for a :func:`on_raw_bulk_message_delete` event.
6667
@@ -88,6 +89,7 @@ def __init__(self, data):
8889 except KeyError :
8990 self .guild_id = None
9091
92+
9193class RawMessageUpdateEvent (_RawReprMixin ):
9294 """Represents the payload for a :func:`on_raw_message_edit` event.
9395
@@ -124,6 +126,7 @@ def __init__(self, data):
124126 except KeyError :
125127 self .guild_id = None
126128
129+
127130class RawReactionActionEvent (_RawReprMixin ):
128131 """Represents the payload for a :func:`on_raw_reaction_add` or
129132 :func:`on_raw_reaction_remove` event.
@@ -169,6 +172,7 @@ def __init__(self, data, emoji, event_type):
169172 except KeyError :
170173 self .guild_id = None
171174
175+
172176class RawReactionClearEvent (_RawReprMixin ):
173177 """Represents the payload for a :func:`on_raw_reaction_clear` event.
174178
@@ -193,6 +197,7 @@ def __init__(self, data):
193197 except KeyError :
194198 self .guild_id = None
195199
200+
196201class RawReactionClearEmojiEvent (_RawReprMixin ):
197202 """Represents the payload for a :func:`on_raw_reaction_clear_emoji` event.
198203
@@ -222,6 +227,7 @@ def __init__(self, data, emoji):
222227 except KeyError :
223228 self .guild_id = None
224229
230+
225231class RawInteractionCreateEvent (_RawReprMixin ):
226232
227233 __slots__ = ('_data' , '_member' , '_message_id' , '_channel_id' , '_guild_id' , '__token' )
@@ -242,15 +248,17 @@ def __init__(self, data, http=None):
242248 self ._type = data .get ('type' , None )
243249 self .__token = data .get ('token' , None )
244250 self ._message_id = data .get ('message' ).get ('id' , None )
245- self ._data = data .get ('data' , None )
246- self ._member = data .get ('member' )
251+ self ._data = data .get ('data' , None )
252+ self ._member = data .get ('member' , None )
247253 self .__interaction_id = data .get ('id' , 0 )
248254 self ._guild_id = data .get ('guild_id' , 0 )
249255 self ._channel_id = data .get ('channel_id' , 0 )
250256 self .__application_id = data .get ('application_id' , 0 )
251- self .guild = None
257+ self .guild = None
252258 self .channel = None
253259 self .member : Member = None
260+ self .user = None
261+ self ._user = dict (self .member ._user ) if self .member else data .get ('user' )
254262 self .button = ClickEvent (self ._data )
255263 self .message : Message = None
256264 self ._deferred = False
@@ -279,6 +287,7 @@ def token(self):
279287 @property
280288 def initeraction_id (self ):
281289 return int (self .__interaction_id )
290+
282291 @property
283292 def guild_id (self ):
284293 return int (self ._guild_id )
@@ -291,6 +300,7 @@ def channel_id(self):
291300 def message_id (self ):
292301 return int (self ._message_id )
293302
303+
294304class ClickEvent :
295305 def __init__ (self , data ):
296306 if data :
@@ -306,4 +316,4 @@ def custom_id(self):
306316
307317 @property
308318 def component_type (self ):
309- return self ._component_type
319+ return self ._component_type
0 commit comments