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
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