social media crossposting tool. 3rd time's the charm
mastodon misskey crossposting bluesky
at next 39 lines 641 B view raw
1from dataclasses import dataclass 2 3from cross.media import Blob 4 5 6@dataclass(kw_only=True) 7class Attachment: 8 pass 9 10 11@dataclass(kw_only=True) 12class LabelsAttachment(Attachment): 13 labels: list[str] 14 15 16@dataclass(kw_only=True) 17class LanguagesAttachment(Attachment): 18 langs: list[str] 19 20 21@dataclass(kw_only=True) 22class SensitiveAttachment(Attachment): 23 sensitive: bool 24 25 26@dataclass(kw_only=True) 27class RemoteUrlAttachment(Attachment): 28 url: str 29 30 31@dataclass(kw_only=True) 32class MediaAttachment(Attachment): 33 blobs: list[Blob] 34 35 36@dataclass(kw_only=True) 37class QuoteAttachment(Attachment): 38 quoted_id: str 39 quoted_user: str