social media crossposting tool. 3rd time's the charm
mastodon misskey crossposting bluesky
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@dataclass(kw_only=True) 31class MediaAttachment(Attachment): 32 blobs: list[Blob] 33 34@dataclass(kw_only=True) 35class QuoteAttachment(Attachment): 36 quoted_id: str