3535 ScheduledEventStatus ,
3636 try_enum ,
3737)
38- from .errors import ValidationError
38+ from .errors import InvalidArgument , ValidationError
3939from .iterators import ScheduledEventSubscribersIterator
4040from .mixins import Hashable
4141from .object import Object
42+ from .utils import warn_deprecated
4243
4344__all__ = (
4445 "ScheduledEvent" ,
@@ -180,7 +181,7 @@ class ScheduledEvent(Hashable):
180181 "location" ,
181182 "guild" ,
182183 "_state" ,
183- "_cover " ,
184+ "_image " ,
184185 "subscriber_count" ,
185186 )
186187
@@ -198,7 +199,7 @@ def __init__(
198199 self .guild : Guild = guild
199200 self .name : str = data .get ("name" )
200201 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 )
202203 self .start_time : datetime .datetime = datetime .datetime .fromisoformat (
203204 data .get ("scheduled_start_time" )
204205 )
@@ -254,13 +255,24 @@ def url(self) -> str:
254255
255256 @property
256257 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 :
257269 """Returns the scheduled event cover image asset, if available."""
258- if self ._cover is None :
270+ if self ._image is None :
259271 return None
260- return Asset ._from_scheduled_event_cover (
272+ return Asset ._from_scheduled_event_image (
261273 self ._state ,
262274 self .id ,
263- self ._cover ,
275+ self ._image ,
264276 )
265277
266278 async def edit (
@@ -276,6 +288,7 @@ async def edit(
276288 start_time : datetime .datetime = MISSING ,
277289 end_time : datetime .datetime = MISSING ,
278290 cover : bytes | None = MISSING ,
291+ image : bytes | None = MISSING ,
279292 privacy_level : ScheduledEventPrivacyLevel = ScheduledEventPrivacyLevel .guild_only ,
280293 ) -> ScheduledEvent | None :
281294 """|coro|
@@ -310,9 +323,14 @@ async def edit(
310323 so there is no need to change this parameter.
311324 reason: Optional[:class:`str`]
312325 The reason to show in the audit log.
326+ image: Optional[:class:`bytes`]
327+ The cover image of the scheduled event.
313328 cover: Optional[:class:`bytes`]
314329 The cover image of the scheduled event.
315330
331+ .. deprecated:: 2.7
332+ Use the `image` argument instead.
333+
316334 Returns
317335 -------
318336 Optional[:class:`.ScheduledEvent`]
@@ -341,8 +359,19 @@ async def edit(
341359 payload ["privacy_level" ] = int (privacy_level )
342360
343361 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 )
346375
347376 if location is not MISSING :
348377 if not isinstance (
0 commit comments