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

pincer.middleware.guild_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 a guild is updated"""
5
from typing import List
6
7
from ..core.dispatch import GatewayDispatch
8
from ..objects import Guild, Channel
9
from ..utils.conversion import construct_client_dict, convert
0 ignored issues
show
Unused Code introduced by
Unused convert imported from utils.conversion
Loading history...
10
11
12
async def guild_update_middleware(self, payload: GatewayDispatch):
13
    """|coro|
14
15
    Middleware for ``on_guild_update`` event.
16
17
    Parameters
18
    ----------
19
    self : :class:`Client`
20
        The current client/bot.
21
22
    payload : :class:`GatewayDispatch`
23
        The data received from the guild update event.
24
25
26
    Returns
27
    -------
28
    Tuple[:class:`str`, List[:class:`~pincer.objects.guild.guild.Guild`]]
29
        ``on_guild_Update`` and an ``Guild``
30
    """
31
32
    channel_list = payload.data.pop("channels", [])
33
34
    channels: List[Channel] = [
35
        Channel.from_dict(construct_client_dict(self, channel))
36
        for channel in channel_list
37
    ]
38
39
    guild = Guild.from_dict(construct_client_dict(
40
        self,
41
        {"channels": channels, **payload.data}
42
    ))
43
    self.guild[guild.id] = guild
44
45
    return "on_guild_update", [guild]
46
47
48
def export():
0 ignored issues
show
introduced by
Missing function or method docstring
Loading history...
49
    return guild_update_middleware
50