mirror of
https://github.com/stoatchat/python-client-sdk.git
synced 2026-07-01 20:44:04 -04:00
Fix Message._update (#50)
* fix Message._update * handle edited being int in MessageUpdate event
This commit is contained in:
+8
-4
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user