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

pincer.middleware.message_reaction_remove   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 45
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 17
dl 0
loc 45
rs 10
c 0
b 0
f 0

2 Functions

Rating   Name   Duplication   Size   Complexity  
A message_reaction_remove_middleware() 0 26 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 removes a reaction to a message"""
5
6
from ..core.dispatch import GatewayDispatch
7
from ..objects import Emoji
8
from ..objects.events.message import MessageReactionRemoveEvent
9
from ..utils.conversion import construct_client_dict
10
11
12
async def message_reaction_remove_middleware(self, payload: GatewayDispatch):
13
    """|coro|
14
15
    Middleware for ``on_message_reaction_remove`` event.
16
17
    Parameters
18
    ----------
19
    payload : :class:`GatewayDispatch`
20
        The data received from the message reaction remove event.
21
22
23
    Returns
24
    -------
25
    Tuple[:class:`str`, List[:class:`~pincer.objects.events.message.MessageReactionRemoveEvent`]]
26
        ``on_message_reaction_remove`` and an ``MessageReactionRemoveEvent``
27
    """
28
29
    return "on_message_reaction_remove", [
30
        MessageReactionRemoveEvent.from_dict(
31
            construct_client_dict(
32
                self,
33
                {
34
                    "emoji": Emoji.from_dict(
35
                        construct_client_dict(self, payload.data.pop("emoji"))
36
                    ),
37
                    **payload.data
38
                }
39
            ))
40
    ]
41
42
43
def export():
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
44
    return message_reaction_remove_middleware
45