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
37 quoted_user: str