Passed
Pull Request — main (#174)
by Yohann
01:54
created

pincer.middleware.typing_start   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

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

2 Functions

Rating   Name   Duplication   Size   Complexity  
A typing_start_middleware() 0 17 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 started typing in a channel"""
5
6
from ..core.dispatch import GatewayDispatch
7
from ..objects.events.typing_start import TypingStartEvent
8
from ..utils.conversion import construct_client_dict
9
from ..utils.types import Coro
10
11
12
async def typing_start_middleware(self, payload: GatewayDispatch):
13
    """|coro|
14
15
    Middleware for ``on_typing_start`` event.
16
17
    Parameters
18
    ----------
19
    payload : :class:`GatewayDispatch`
20
        The data received from the typing start event.
21
22
    Returns
23
    -------
24
    Tuple[:class:`str`, List[:class:`~pincer.objects.events.typing_start.TypingStartEvent`]]
25
        ``on_typing_start`` and a ``TypingStartEvent``
26
    """
27
    return "on_typing_start", [
28
        TypingStartEvent.from_dict(construct_client_dict(self, payload.data))
29
    ]
30
31
32
def export() -> Coro:
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
33
    return typing_start_middleware
34