@@ -56,27 +56,18 @@ def __init__(
5656 state = state , guild = self .guild , data = raw_data ["member" ]
5757 )
5858 elif self .raw_data .get ("member" ):
59- self .user : Union [User , Member ] = User (
60- state = state , data = raw_data ["member" ]["user" ]
61- )
59+ self .user : Union [User , Member ] = User (state = state , data = raw_data ["member" ]["user" ])
6260 else :
6361 self .user : Union [User , Member ] = User (state = state , data = raw_data ["user" ])
6462 self .author : Union [User , Member ] = self .user
6563
66- if raw_data ["message" ].get ("components" ):
67- self .message : Union [ComponentMessage , dict ] = ComponentMessage (
68- state = state , channel = self .channel , data = raw_data ["message" ]
69- )
70- self .component : Component = self .message .get_component (
71- custom_id = self .custom_id
72- )
73- else :
74- self .message : Union [ComponentMessage , dict ] = raw_data ["message" ]
75-
76- if self .component_type == 2 :
77- self .component : Component = Button .from_json (raw_data ["data" ])
78- elif self .component_type == 3 :
79- self .component : Component = Select .from_json (raw_data ["data" ])
64+ self .message : Union [ComponentMessage , dict ] = ComponentMessage (
65+ state = state ,
66+ channel = self .channel ,
67+ data = raw_data ["message" ],
68+ ephemeral = raw_data ["message" ].get ("flags" ) == 64 ,
69+ )
70+ self .component : Component = self .message .get_component (custom_id = self .custom_id )
8071
8172 self .raw_data : dict = raw_data
8273 self .responded : bool = False
@@ -135,9 +126,7 @@ async def respond(
135126
136127 if embeds is not None :
137128 if len (embeds ) > 10 :
138- raise InvalidArgument (
139- "embeds parameter must be a list of up to 10 elements"
140- )
129+ raise InvalidArgument ("embeds parameter must be a list of up to 10 elements" )
141130 data ["embeds" ] = [embed .to_dict () for embed in embeds ]
142131
143132 if suppress is not None :
@@ -149,15 +138,11 @@ async def respond(
149138
150139 if allowed_mentions is not None :
151140 if state .allowed_mentions is not None :
152- data ["allowed_mentions" ] = state .allowed_mentions .merge (
153- allowed_mentions
154- ).to_dict ()
141+ data ["allowed_mentions" ] = state .allowed_mentions .merge (allowed_mentions ).to_dict ()
155142 else :
156143 data ["allowed_mentions" ] = allowed_mentions .to_dict ()
157144 else :
158- data ["allowed_mentions" ] = (
159- state .allowed_mentions and state .allowed_mentions .to_dict ()
160- )
145+ data ["allowed_mentions" ] = state .allowed_mentions and state .allowed_mentions .to_dict ()
161146
162147 if components is not None :
163148 data ["components" ] = _get_components_json (components )
@@ -169,9 +154,7 @@ async def respond(
169154 raise InvalidArgument ("cannot pass both file and files parameter to send()" )
170155 elif files is not None :
171156 if len (files ) > 10 :
172- raise InvalidArgument (
173- "files parameter must be a list of up to 10 elements"
174- )
157+ raise InvalidArgument ("files parameter must be a list of up to 10 elements" )
175158 if file is not None :
176159 files = [file ]
177160
0 commit comments