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

message_reaction_add_middleware()   A

Complexity

Conditions 1

Size

Total Lines 28
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

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