More API refactoring, add HTML text for Telegram, start work on /config

This commit is contained in:
2024-06-26 02:02:55 +02:00
parent 8f1b80ab14
commit 2c73846554
10 changed files with 104 additions and 106 deletions

View File

@@ -39,15 +39,19 @@ def MastodonHandler(event):
if command.Name in Endpoints:
CallEndpoint(command.Name, EventContext(platform="mastodon", event=event, manager=Mastodon), command)
def MastodonSender(context:EventContext, data:OutputMessageData, destination, textPlain, textMarkdown) -> None:
if InDict(data, 'Media'):
Media = context.manager.media_post(data['Media'], Magic(mime=True).from_buffer(data['Media']))
while Media['url'] == 'null':
Media = context.manager.media(Media)
if textPlain or Media:
def MastodonSender(context:EventContext, data:OutputMessageData, destination) -> None:
media_results = None
if data.media:
media_results = []
for medium in data.media[:4]: # Mastodon limits posts to 4 attachments
medium_result = context.manager.media_post(medium, Magic(mime=True).from_buffer(medium))
while medium_result["url"] == "null":
medium_result = context.manager.media(medium_result)
media_results.append(medium_result)
if data.text_plain or media_results:
context.manager.status_post(
status=(textPlain + '\n\n@' + context.event['account']['acct']),
media_ids=(Media if InDict(data, 'Media') else None),
status=(data.text_plain + '\n\n@' + context.event['account']['acct']),
media_ids=media_results,
in_reply_to_id=context.event['status']['id'],
visibility=('direct' if context.event['status']['visibility'] == 'direct' else 'unlisted'),
)