Passed
Pull Request — main (#174)
by
unknown
01:43
created

pincer.middleware.integration_update   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 11
dl 0
loc 37
rs 10
c 0
b 0
f 0

2 Functions

Rating   Name   Duplication   Size   Complexity  
A export() 0 2 1
A integration_update_middleware() 0 20 1
1
# Copyright Pincer 2021-Present
2
# Full MIT License can be found in `LICENSE` at the project root.
3
4
"""sent when an integration is updated"""
5
6
from pincer.utils.types import Coro
7
from ..core.dispatch import GatewayDispatch
8
from ..objects.events.integration import IntegrationUpdateEvent
9
from ..utils.conversion import construct_client_dict
10
11
12
async def integration_update_middleware(self, payload: GatewayDispatch):
13
    """|coro|
14
15
    Middleware for ``on_integration_update``,
16
17
    Parameters
18
    ----------
19
    self : :class:`Client`
20
        The current client/bot
21
22
    payload : :class:`GatewayDispatch`
23
        The data recieved from the integration update event
24
25
    Returns
26
    -------
27
    Tuple[:class:`str`, List[:class:`~pincer.events.integration.IntegrationUpdateEvent`]]
28
        ``on_integration_update`` and an ``IntegrationUpdateEvent`` object
29
    """
30
    return "on_integration_update", [
31
        IntegrationUpdateEvent.from_dict(construct_client_dict(self, payload.data))
32
    ]
33
34
35
def export() -> Coro:
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
36
    return integration_update_middleware
37