@@ -2933,8 +2933,9 @@ async def ban(
2933
2933
self ,
2934
2934
user : Snowflake ,
2935
2935
* ,
2936
+ delete_message_seconds : Optional [int ] = None ,
2937
+ delete_message_days : Optional [int ] = None ,
2936
2938
reason : Optional [str ] = None ,
2937
- delete_message_days : Literal [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] = 1 ,
2938
2939
) -> None :
2939
2940
"""|coro|
2940
2941
@@ -2949,9 +2950,13 @@ async def ban(
2949
2950
-----------
2950
2951
user: :class:`abc.Snowflake`
2951
2952
The user to ban from their guild.
2952
- delete_message_days: :class:`int`
2953
- The number of days worth of messages to delete from the user
2954
- in the guild. The minimum is 0 and the maximum is 7.
2953
+ delete_message_seconds: Optional[:class:`int`]
2954
+ The number of seconds worth of messages to delete from
2955
+ the user in the guild. The minimum is 0 and the maximum
2956
+ is 604800 (i.e. 7 days). The default is 0.
2957
+ delete_message_days: Optional[:class:`int`]
2958
+ ***Deprecated parameter***, same as ``delete_message_seconds`` but
2959
+ is used for days instead.
2955
2960
reason: Optional[:class:`str`]
2956
2961
The reason the user got banned.
2957
2962
@@ -2962,7 +2967,13 @@ async def ban(
2962
2967
HTTPException
2963
2968
Banning failed.
2964
2969
"""
2965
- await self ._state .http .ban (user .id , self .id , delete_message_days , reason = reason )
2970
+ if delete_message_seconds and delete_message_days :
2971
+ raise TypeError ("delete_message_seconds and delete_message_days are mutually exclusive." )
2972
+
2973
+ if not (0 <= delete_message_seconds <= 604800 ):
2974
+ raise TypeError ("delete_message_seconds must be between 0 and 604800 seconds." )
2975
+
2976
+ await self ._state .http .ban (user .id , self .id , delete_message_seconds , delete_message_days , reason = reason )
2966
2977
2967
2978
async def unban (self , user : Snowflake , * , reason : Optional [str ] = None ) -> None :
2968
2979
"""|coro|
0 commit comments