2
0
mirror of https://github.com/pyrogram/pyrogram synced 2025-08-29 05:18:10 +00:00

Fix zero-datetime not working in some systems

This commit is contained in:
Dan 2022-04-24 18:13:18 +02:00
parent aecdd492eb
commit 8852756798
6 changed files with 12 additions and 8 deletions

View File

@ -29,7 +29,7 @@ class BanChatMember:
self: "pyrogram.Client",
chat_id: Union[int, str],
user_id: Union[int, str],
until_date: datetime = datetime.fromtimestamp(0)
until_date: datetime = utils.zero_datetime()
) -> Union["types.Message", bool]:
"""Ban a user from a group, a supergroup or a channel.
In the case of supergroups and channels, the user will not be able to return to the group on their own using

View File

@ -30,7 +30,7 @@ class RestrictChatMember:
chat_id: Union[int, str],
user_id: Union[int, str],
permissions: "types.ChatPermissions",
until_date: datetime = datetime.fromtimestamp(0)
until_date: datetime = utils.zero_datetime()
) -> "types.Chat":
"""Restrict a user in a supergroup.

View File

@ -51,7 +51,7 @@ class EditChatInviteLink:
expire_date (:py:obj:`~datetime.datetime`, *optional*):
Point in time when the link will expire.
Defaults to None (no change), pass ``datetime.fromtimestamp(0)`` to set no expiration date.
Defaults to None (no change), pass None to set no expiration date.
member_limit (``int``, *optional*):
Maximum number of users that can be members of the chat simultaneously after joining the chat via this

View File

@ -30,7 +30,7 @@ async def get_chunk(
limit: int = 0,
offset: int = 0,
from_message_id: int = 0,
from_date: datetime = datetime.fromtimestamp(0)
from_date: datetime = utils.zero_datetime()
):
messages = await client.invoke(
raw.functions.messages.GetHistory(
@ -56,7 +56,7 @@ class GetChatHistory:
limit: int = 0,
offset: int = 0,
offset_id: int = 0,
offset_date: datetime = datetime.fromtimestamp(0)
offset_date: datetime = utils.zero_datetime()
) -> Optional[AsyncGenerator["types.Message", None]]:
"""Get messages from a chat history.

View File

@ -514,7 +514,7 @@ class Chat(Object):
async def ban_member(
self,
user_id: Union[int, str],
until_date: datetime = datetime.fromtimestamp(0)
until_date: datetime = utils.zero_datetime()
) -> Union["types.Message", bool]:
"""Bound method *ban_member* of :obj:`~pyrogram.types.Chat`.
@ -602,7 +602,7 @@ class Chat(Object):
self,
user_id: Union[int, str],
permissions: "types.ChatPermissions",
until_date: datetime = datetime.fromtimestamp(0),
until_date: datetime = utils.zero_datetime(),
) -> "types.Chat":
"""Bound method *unban_member* of :obj:`~pyrogram.types.Chat`.

View File

@ -23,7 +23,7 @@ import hashlib
import os
import struct
from concurrent.futures.thread import ThreadPoolExecutor
from datetime import datetime
from datetime import datetime, timezone
from getpass import getpass
from typing import Union, List, Dict, Optional
@ -345,6 +345,10 @@ async def parse_text_entities(
}
def zero_datetime() -> datetime:
return datetime.fromtimestamp(0, timezone.utc)
def timestamp_to_datetime(ts: Optional[int]) -> Optional[datetime]:
return datetime.fromtimestamp(ts) if ts else None