Passed
Pull Request — main (#163)
by
unknown
01:39
created

pincer.middleware.message_reaction_add   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 19
dl 0
loc 42
rs 10
c 0
b 0
f 0

2 Functions

Rating   Name   Duplication   Size   Complexity  
A message_reaction_add_middleware() 0 23 1
A export() 0 2 1
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
    """
14
    Middleware for ``on_message_reaction_add``,
15
        creates a object for the message reaction that is added
16
17
    :param self:
18
        The current client.
19
20
    :param payload:
21
        The data received from the message reaction add event.
22
    """
23
    return "on_message_reaction_add", [
24
        MessageReactionAddEvent.from_dict(
25
            construct_client_dict(
26
                self,
27
                {
28
                    "member": GuildMember.from_dict(
29
                        construct_client_dict(self, payload.data.pop("member"))
30
                    ),
31
                    "emoji": Emoji.from_dict(
32
                        construct_client_dict(self, payload.data.pop("emoji"))
33
                    ),
34
                    **payload.data
35
                }
36
            ))
37
    ]
38
39
40
def export():
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
41
    return message_reaction_add_middleware
42