35
35
ScheduledEventStatus ,
36
36
try_enum ,
37
37
)
38
- from .errors import ValidationError
38
+ from .errors import InvalidArgument , ValidationError
39
39
from .iterators import ScheduledEventSubscribersIterator
40
40
from .mixins import Hashable
41
41
from .object import Object
42
+ from .utils import warn_deprecated
42
43
43
44
__all__ = (
44
45
"ScheduledEvent" ,
@@ -180,7 +181,7 @@ class ScheduledEvent(Hashable):
180
181
"location" ,
181
182
"guild" ,
182
183
"_state" ,
183
- "_cover " ,
184
+ "_image " ,
184
185
"subscriber_count" ,
185
186
)
186
187
@@ -198,7 +199,7 @@ def __init__(
198
199
self .guild : Guild = guild
199
200
self .name : str = data .get ("name" )
200
201
self .description : str | None = data .get ("description" , None )
201
- self ._cover : str | None = data .get ("image" , None )
202
+ self ._image : str | None = data .get ("image" , None )
202
203
self .start_time : datetime .datetime = datetime .datetime .fromisoformat (
203
204
data .get ("scheduled_start_time" )
204
205
)
@@ -254,13 +255,24 @@ def url(self) -> str:
254
255
255
256
@property
256
257
def cover (self ) -> Asset | None :
258
+ """
259
+ Returns the scheduled event cover image asset, if available.
260
+
261
+ .. deprecated:: 2.7
262
+ Use the :attr:`image` property instead.
263
+ """
264
+ warn_deprecated ("cover" , "image" , "2.7" )
265
+ return self .image
266
+
267
+ @property
268
+ def image (self ) -> Asset | None :
257
269
"""Returns the scheduled event cover image asset, if available."""
258
- if self ._cover is None :
270
+ if self ._image is None :
259
271
return None
260
- return Asset ._from_scheduled_event_cover (
272
+ return Asset ._from_scheduled_event_image (
261
273
self ._state ,
262
274
self .id ,
263
- self ._cover ,
275
+ self ._image ,
264
276
)
265
277
266
278
async def edit (
@@ -276,6 +288,7 @@ async def edit(
276
288
start_time : datetime .datetime = MISSING ,
277
289
end_time : datetime .datetime = MISSING ,
278
290
cover : bytes | None = MISSING ,
291
+ image : bytes | None = MISSING ,
279
292
privacy_level : ScheduledEventPrivacyLevel = ScheduledEventPrivacyLevel .guild_only ,
280
293
) -> ScheduledEvent | None :
281
294
"""|coro|
@@ -310,9 +323,14 @@ async def edit(
310
323
so there is no need to change this parameter.
311
324
reason: Optional[:class:`str`]
312
325
The reason to show in the audit log.
326
+ image: Optional[:class:`bytes`]
327
+ The cover image of the scheduled event.
313
328
cover: Optional[:class:`bytes`]
314
329
The cover image of the scheduled event.
315
330
331
+ .. deprecated:: 2.7
332
+ Use the `image` argument instead.
333
+
316
334
Returns
317
335
-------
318
336
Optional[:class:`.ScheduledEvent`]
@@ -341,8 +359,19 @@ async def edit(
341
359
payload ["privacy_level" ] = int (privacy_level )
342
360
343
361
if cover is not MISSING :
344
- if cover is not None :
345
- payload ["image" ] = utils ._bytes_to_base64_data (cover )
362
+ warn_deprecated ("cover" , "image" , "2.7" )
363
+ if image is not MISSING :
364
+ raise InvalidArgument (
365
+ "cannot pass both `image` and `cover` to `ScheduledEvent.edit`"
366
+ )
367
+ else :
368
+ image = cover
369
+
370
+ if image is not MISSING :
371
+ if image is None :
372
+ payload ["image" ] = None
373
+ else :
374
+ payload ["image" ] = utils ._bytes_to_base64_data (image )
346
375
347
376
if location is not MISSING :
348
377
if not isinstance (
0 commit comments