social media crossposting tool. 3rd time's the charm
mastodon
misskey
crossposting
bluesky
1from dataclasses import dataclass
2
3@dataclass(kw_only=True)
4class Token:
5 pass
6
7@dataclass(kw_only=True)
8class TextToken(Token):
9 text: str
10
11@dataclass(kw_only=True)
12class LinkToken(Token):
13 href: str
14 label: str | None = None
15
16@dataclass(kw_only=True)
17class TagToken(Token):
18 tag: str
19
20@dataclass(kw_only=True)
21class MentionToken(Token):
22 username: str
23 uri: str | None = None