parent
06a371e80a
commit
658b61d468
@ -142,12 +142,14 @@ class WebhookAdapter:
|
||||
for p in multipart:
|
||||
name = p['name']
|
||||
if name == 'payload_json':
|
||||
to_send = { 'payload_json': p['value'] }
|
||||
to_send = {'payload_json': p['value']}
|
||||
else:
|
||||
file_data[name] = (p['filename'], p['value'], p['content_type'])
|
||||
|
||||
try:
|
||||
with session.request(method, url, data=to_send, files=file_data, headers=headers, params=params) as response:
|
||||
with session.request(
|
||||
method, url, data=to_send, files=file_data, headers=headers, params=params
|
||||
) as response:
|
||||
log.debug(
|
||||
'Webhook ID %s with %s %s has returned status code %s',
|
||||
webhook_id,
|
||||
@ -346,8 +348,17 @@ class WebhookAdapter:
|
||||
return self.request(route, session=session)
|
||||
|
||||
|
||||
_context = threading.local()
|
||||
_context.adapter = WebhookAdapter()
|
||||
class _WebhookContext(threading.local):
|
||||
adapter: Optional[WebhookAdapter] = None
|
||||
|
||||
|
||||
_context = _WebhookContext()
|
||||
|
||||
|
||||
def _get_webhook_adapter() -> WebhookAdapter:
|
||||
if _context.adapter is None:
|
||||
_context.adapter = WebhookAdapter()
|
||||
return _context.adapter
|
||||
|
||||
|
||||
class SyncWebhookMessage(Message):
|
||||
@ -621,7 +632,7 @@ class SyncWebhook(BaseWebhook):
|
||||
:class:`SyncWebhook`
|
||||
The fetched webhook.
|
||||
"""
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
|
||||
if prefer_auth and self.auth_token:
|
||||
data = adapter.fetch_webhook(self.id, self.auth_token, session=self.session)
|
||||
@ -659,7 +670,7 @@ class SyncWebhook(BaseWebhook):
|
||||
if self.token is None and self.auth_token is None:
|
||||
raise InvalidArgument('This webhook does not have a token associated with it')
|
||||
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
|
||||
if prefer_auth and self.auth_token:
|
||||
adapter.delete_webhook(self.id, token=self.auth_token, session=self.session, reason=reason)
|
||||
@ -713,7 +724,7 @@ class SyncWebhook(BaseWebhook):
|
||||
if avatar is not MISSING:
|
||||
payload['avatar'] = utils._bytes_to_base64_data(avatar) if avatar is not None else None
|
||||
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
|
||||
# If a channel is given, always use the authenticated endpoint
|
||||
if channel is not None:
|
||||
@ -873,7 +884,7 @@ class SyncWebhook(BaseWebhook):
|
||||
allowed_mentions=allowed_mentions,
|
||||
previous_allowed_mentions=previous_mentions,
|
||||
)
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
thread_id: Optional[int] = None
|
||||
if thread is not MISSING:
|
||||
thread_id = thread.id
|
||||
@ -921,7 +932,7 @@ class SyncWebhook(BaseWebhook):
|
||||
if self.token is None:
|
||||
raise InvalidArgument('This webhook does not have a token associated with it')
|
||||
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
data = adapter.get_webhook_message(
|
||||
self.id,
|
||||
self.token,
|
||||
@ -995,7 +1006,7 @@ class SyncWebhook(BaseWebhook):
|
||||
allowed_mentions=allowed_mentions,
|
||||
previous_allowed_mentions=previous_mentions,
|
||||
)
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
adapter.edit_webhook_message(
|
||||
self.id,
|
||||
self.token,
|
||||
@ -1029,7 +1040,7 @@ class SyncWebhook(BaseWebhook):
|
||||
if self.token is None:
|
||||
raise InvalidArgument('This webhook does not have a token associated with it')
|
||||
|
||||
adapter: WebhookAdapter = _context.adapter
|
||||
adapter: WebhookAdapter = _get_webhook_adapter()
|
||||
adapter.delete_webhook_message(
|
||||
self.id,
|
||||
self.token,
|
||||
|
Loading…
x
Reference in New Issue
Block a user