Add support for Interaction Callback Resource

Co-authored-by: Danny <1695103+Rapptz@users.noreply.github.com>
This commit is contained in:
DA344
2025-02-18 08:10:59 +01:00
committed by GitHub
parent fa158a5eba
commit 5b78097cef
4 changed files with 269 additions and 10 deletions

View File

@ -90,6 +90,9 @@ if TYPE_CHECKING:
)
from ..types.emoji import PartialEmoji as PartialEmojiPayload
from ..types.snowflake import SnowflakeList
from ..types.interactions import (
InteractionCallback as InteractionCallbackResponsePayload,
)
BE = TypeVar('BE', bound=BaseException)
_State = Union[ConnectionState, '_WebhookState']
@ -435,13 +438,14 @@ class AsyncWebhookAdapter:
proxy: Optional[str] = None,
proxy_auth: Optional[aiohttp.BasicAuth] = None,
params: MultipartParameters,
) -> Response[None]:
) -> Response[InteractionCallbackResponsePayload]:
route = Route(
'POST',
'/interactions/{webhook_id}/{webhook_token}/callback',
webhook_id=interaction_id,
webhook_token=token,
)
request_params = {'with_response': '1'}
if params.files:
return self.request(
@ -451,9 +455,17 @@ class AsyncWebhookAdapter:
proxy_auth=proxy_auth,
files=params.files,
multipart=params.multipart,
params=request_params,
)
else:
return self.request(route, session=session, proxy=proxy, proxy_auth=proxy_auth, payload=params.payload)
return self.request(
route,
session=session,
proxy=proxy,
proxy_auth=proxy_auth,
payload=params.payload,
params=request_params,
)
def get_original_interaction_response(
self,