Fix Message._update (#50)

* fix Message._update

* handle edited being int in MessageUpdate event
This commit is contained in:
TheBobBobs
2023-05-19 22:16:33 +00:00
committed by GitHub
parent 52c2be4e91
commit dfb45494ba
2 changed files with 11 additions and 5 deletions
+8 -4
View File
@@ -1,7 +1,7 @@
from __future__ import annotations
import datetime
from typing import TYPE_CHECKING, Any, Optional
from typing import TYPE_CHECKING, Any, Optional, Union
from .asset import Asset, PartialAsset
from .channel import Messageable
@@ -114,15 +114,19 @@ class Message(Ulid):
else:
self.interactions = None
def _update(self, *, content: Optional[str] = None, embeds: Optional[list[EmbedPayload]] = None, edited: int):
def _update(self, *, content: Optional[str] = None, embeds: Optional[list[EmbedPayload]] = None, edited: Optional[Union[str, int]] = None):
if content is not None:
self.content = content
self.edited = datetime.datetime.fromtimestamp(edited / 1000)
if embeds is not None:
self.embeds = [to_embed(embed, self.state) for embed in embeds]
if edited is not None:
if isinstance(edited, int):
self.edited_at = datetime.datetime.fromtimestamp(edited / 1000, tz=datetime.timezone.utc)
else:
self.edited_at = datetime.datetime.strptime(edited, "%Y-%m-%dT%H:%M:%S.%f%z")
async def edit(self, *, content: Optional[str] = None, embeds: Optional[list[SendableEmbed]] = None) -> None:
"""Edits the message. The bot can only edit its own message
Parameters
+3 -1
View File
@@ -11,6 +11,7 @@ from .permissions import Overwrite
if TYPE_CHECKING:
from .category import Category
from .embed import Embed
from .emoji import Emoji
from .file import File
from .member import Member, MemberID
@@ -65,7 +66,8 @@ class MessageEventPayload(BasePayload, Message):
class MessageUpdateData(TypedDict):
content: str
edited: int
embeds: list[Embed]
edited: Union[str, int]
class MessageUpdateEventPayload(BasePayload):
channel: str