social media crossposting tool. 3rd time's the charm
mastodon
misskey
crossposting
bluesky
1from abc import ABC, abstractmethod
2
3import requests
4
5from cross.service import Service
6
7
8class MisskeyService(ABC, Service):
9 def verify_credentials(self):
10 responce = requests.post(
11 f"{self.url}/api/i",
12 json={"i": self._get_token()},
13 headers={"Content-Type": "application/json"},
14 )
15 if responce.status_code != 200:
16 self.log.error("Failed to validate user credentials!")
17 responce.raise_for_status()
18 return dict(responce.json())
19
20 @abstractmethod
21 def _get_token(self) -> str:
22 pass