Pārlūkot izejas kodu

Remove special-cased share voice response type

The server seems to have stopped doing those and switched to
the standard CommandResponse format
Tulir Asokan 2 gadi atpakaļ
vecāks
revīzija
3db61aebf4

+ 0 - 9
mauigpapi/http/thread.py

@@ -22,7 +22,6 @@ from ..types import (
     CommandResponse,
     DMInboxResponse,
     DMThreadResponse,
-    ShareVoiceResponse,
     Thread,
     ThreadAction,
     ThreadItem,
@@ -198,11 +197,3 @@ class ThreadAPI(BaseAndroidAPI):
         return await self._broadcast(
             thread_id, item_type.value, CommandResponse, signed, client_context, **kwargs
         )
-
-    async def broadcast_audio(
-        self, thread_id: str, is_direct: bool, client_context: str | None = None, **kwargs
-    ) -> ShareVoiceResponse | CommandResponse:
-        response_type = ShareVoiceResponse if is_direct else CommandResponse
-        return await self._broadcast(
-            thread_id, "share_voice", response_type, False, client_context, **kwargs
-        )

+ 0 - 2
mauigpapi/types/__init__.py

@@ -99,8 +99,6 @@ from .thread_item import (
 )
 from .upload import (
     FinishUploadResponse,
-    ShareVoiceResponse,
-    ShareVoiceResponseMessage,
     UploadPhotoResponse,
     UploadVideoResponse,
 )

+ 0 - 21
mauigpapi/types/upload.py

@@ -36,24 +36,3 @@ class UploadPhotoResponse(SerializableAttrs):
 class UploadVideoResponse(SerializableAttrs):
     status: str
     xsharing_nonces: Any
-
-
-@dataclass(kw_only=True)
-class ShareVoiceResponseMessage(SerializableAttrs):
-    thread_id: Optional[str] = None
-    item_id: Optional[str] = None
-    timestamp: Optional[str] = None
-    client_context: Optional[str] = None
-    participant_ids: Optional[List[int]] = None
-    message: Optional[str] = None
-
-
-@dataclass
-class ShareVoiceResponse(SerializableAttrs):
-    message_metadata: List[ShareVoiceResponseMessage]
-    status: str
-    upload_id: str
-
-    @property
-    def payload(self) -> ShareVoiceResponseMessage:
-        return self.message_metadata[0]

+ 2 - 2
mautrix_instagram/portal.py

@@ -449,9 +449,9 @@ class Portal(DBPortal, BasePortal):
         self.log.trace(f"Uploading audio from {event_id}")
         _, upload_id = await sender.client.upload_mp4(data, audio=True, duration_ms=duration)
         self.log.trace(f"Broadcasting uploaded audio with request ID {request_id}")
-        return await sender.client.broadcast_audio(
+        return await sender.client.broadcast(
             self.thread_id,
-            is_direct=self.is_direct,
+            ThreadItemType.SHARE_VOICE,
             client_context=request_id,
             upload_id=upload_id,
             waveform=json.dumps([(part or 0) / 1024 for part in waveform], separators=(",", ":")),