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

pincer.middleware.thread_member_update.export()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 2
rs 10
c 0
b 0
f 0
cc 1
nop 0
1
# Copyright Pincer 2021-Present
2
# Full MIT License can be found in `LICENSE` at the project root.
3
4
"""sent when the thread member object for the current user is updated"""
5
6
from ..core.dispatch import GatewayDispatch
7
from ..objects import ThreadMember
8
from ..utils import Timestamp
9
from ..utils.conversion import construct_client_dict
10
11
12
async def thread_member_update_middleware(self, payload: GatewayDispatch):
13
    """|coro|
14
15
    Middleware for ``on_thread_member_update`` event.
16
17
    Parameters
18
    ----------
19
    payload : :class:`GatewayDispatch`
20
        The data received from the thread member update event.
21
22
    Returns
23
    -------
24
    Tuple[:class:`str`, List[:class:`~pincer.objects.guild.thread.ThreadMember`]]
25
        ``on_thread_member_update`` and an ``ThreadMember``
26
    """
27
28
    return "on_thread_member_update", [
29
        ThreadMember.from_dict(construct_client_dict(
30
            self,
31
            {
32
                "join_timestamp": Timestamp(payload.data.pop("join_timestamp")),
33
                **payload.data
34
            }
35
        ))
36
    ]
37
38
39
def export():
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
40
    return thread_member_update_middleware
41