Skip to content

Commit 3554673

Browse files
style(pre-commit): auto fixes from pre-commit.com hooks
1 parent edd2e70 commit 3554673

File tree

4 files changed

+126
-92
lines changed

4 files changed

+126
-92
lines changed

CHANGELOG.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ These changes are available on the `master` branch, but have not yet been releas
5555
([#2714](https://github.com/Pycord-Development/pycord/pull/2714))
5656
- Added the ability to pass a `datetime.time` object to `format_dt`
5757
([#2747](https://github.com/Pycord-Development/pycord/pull/2747))
58-
- Added the ability to pass default values into `ui.Select` of type `ComponentType.channel_select`, `ComponentType.
59-
user_select`, `ComponentType.role_select` and `ComponentType.mentionable_select`
58+
- Added the ability to pass default values into `ui.Select` of type
59+
`ComponentType.channel_select`, `ComponentType. user_select`,
60+
`ComponentType.role_select` and `ComponentType.mentionable_select`
6061

6162
### Fixed
6263

discord/components.py

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,19 +32,19 @@
3232
from .utils import MISSING, get_slots
3333

3434
if TYPE_CHECKING:
35+
from .abc import GuildChannel
3536
from .emoji import AppEmoji, GuildEmoji
37+
from .member import Member
38+
from .role import Role
39+
from .threads import Thread
3640
from .types.components import ActionRow as ActionRowPayload
3741
from .types.components import ButtonComponent as ButtonComponentPayload
3842
from .types.components import Component as ComponentPayload
3943
from .types.components import InputText as InputTextComponentPayload
40-
from .types.components import SelectMenu as SelectMenuPayload
41-
from .types.components import SelectOption as SelectOptionPayload
4244
from .types.components import SelectDefaultValue as SelectDefaultValuePayload
45+
from .types.components import SelectMenu as SelectMenuPayload
4346
from .types.components import SelectMenuDefaultValueType
44-
from .threads import Thread
45-
from .abc import GuildChannel
46-
from .role import Role
47-
from .member import Member
47+
from .types.components import SelectOption as SelectOptionPayload
4848
from .user import User
4949

5050
__all__ = (
@@ -381,7 +381,7 @@ def __init__(self, data: SelectMenuPayload):
381381
_default_values.append(SelectDefaultValue(id=d.id, type="channel"))
382382
else:
383383
raise TypeError(
384-
f"expected SelectDefaultValue, User, Member, Role, GuildChannel or Mentionable, not {d.__class__}"
384+
f"expected SelectDefaultValue, User, Member, Role, GuildChannel or Mentionable, not {d.__class__}"
385385
)
386386

387387
self.default_values: list[SelectDefaultValue] = _default_values
@@ -546,22 +546,12 @@ class SelectDefaultValue:
546546
"type",
547547
)
548548

549-
def __init__(
550-
self,
551-
*,
552-
id: int,
553-
type: SelectMenuDefaultValueType
554-
) -> None:
549+
def __init__(self, *, id: int, type: SelectMenuDefaultValueType) -> None:
555550
self.id = id
556551
self.type = type
557552

558-
559-
560553
def __repr__(self) -> str:
561-
return (
562-
"<SelectDefaultValue"
563-
f" id={self.id!r} type={self.type!r}>"
564-
)
554+
return "<SelectDefaultValue" f" id={self.id!r} type={self.type!r}>"
565555

566556
def __str__(self) -> str:
567557
return f"{self.id} {self.type}"
@@ -570,8 +560,8 @@ def __str__(self) -> str:
570560
def from_dict(cls, data: SelectDefaultValuePayload) -> SelectDefaultValue:
571561

572562
return cls(
573-
id=data["id"],
574-
type=data["type"],
563+
id=data["id"],
564+
type=data["type"],
575565
)
576566

577567
def to_dict(self) -> SelectDefaultValuePayload:

discord/enums.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1082,9 +1082,9 @@ class SubscriptionStatus(Enum):
10821082
class SelectMenuDefaultValueType(Enum):
10831083
"""The type of a select menu's default value."""
10841084

1085-
Channel = 'channel'
1086-
Role = 'role'
1087-
User = 'user'
1085+
Channel = "channel"
1086+
Role = "role"
1087+
User = "user"
10881088

10891089
def __str__(self):
10901090
return self.name

discord/ui/select.py

Lines changed: 109 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
from typing import TYPE_CHECKING, Callable, TypeVar
3131

3232
from ..channel import _threaded_guild_channel_factory
33-
from ..components import SelectMenu, SelectOption, SelectDefaultValue
33+
from ..components import SelectDefaultValue, SelectMenu, SelectOption
3434
from ..emoji import AppEmoji, GuildEmoji
3535
from ..enums import ChannelType, ComponentType, SelectMenuDefaultValueType
3636
from ..errors import InvalidArgument
@@ -120,7 +120,7 @@ class Select(Item[V]):
120120
"options",
121121
"channel_types",
122122
"disabled",
123-
"default_values"
123+
"default_values",
124124
)
125125

126126
def __init__(
@@ -135,7 +135,10 @@ def __init__(
135135
channel_types: list[ChannelType] | None = None,
136136
disabled: bool = False,
137137
row: int | None = None,
138-
default_values: list[User | Member | Role | GuildChannel | Thread | SelectDefaultValue] | None = None,
138+
default_values: (
139+
list[User | Member | Role | GuildChannel | Thread | SelectDefaultValue]
140+
| None
141+
) = None,
139142
) -> None:
140143
if options and select_type is not ComponentType.string_select:
141144
raise InvalidArgument("options parameter is only valid for string selects")
@@ -145,41 +148,60 @@ def __init__(
145148
)
146149
_default_values = []
147150
if default_values and select_type is ComponentType.string_select:
148-
raise InvalidArgument("default_values parameter is only valid for user/role/channel/mentionable selects")
151+
raise InvalidArgument(
152+
"default_values parameter is only valid for user/role/channel/mentionable selects"
153+
)
149154
if default_values and select_type is ComponentType.role_select:
150155
for r in default_values:
151156
if not isinstance(r, Role):
152-
raise ValueError(f"default_values must be a list of Role objects, not {r.__class__.__name__}")
153-
_default_values.append(SelectDefaultValue(
154-
id=r.id,
155-
type=SelectMenuDefaultValueType.Role))
157+
raise ValueError(
158+
f"default_values must be a list of Role objects, not {r.__class__.__name__}"
159+
)
160+
_default_values.append(
161+
SelectDefaultValue(id=r.id, type=SelectMenuDefaultValueType.Role)
162+
)
156163
if default_values and select_type is ComponentType.user_select:
157164
for u in default_values:
158165
if not isinstance(u, (User, Member)):
159-
raise ValueError(f"default_values must be a list of User/Member objects, "
160-
f"not {u.__class__.__name__}")
161-
_default_values.append(SelectDefaultValue(
162-
id=u.id,
163-
type=SelectMenuDefaultValueType.User))
166+
raise ValueError(
167+
f"default_values must be a list of User/Member objects, "
168+
f"not {u.__class__.__name__}"
169+
)
170+
_default_values.append(
171+
SelectDefaultValue(id=u.id, type=SelectMenuDefaultValueType.User)
172+
)
164173
if default_values and select_type is ComponentType.channel_select:
165174
for c in default_values:
166175
if not isinstance(c, GuildChannel):
167-
raise ValueError(f"default_values must be a list of GuildChannel objects, "
168-
f"not {c.__class__.__name__}")
176+
raise ValueError(
177+
f"default_values must be a list of GuildChannel objects, "
178+
f"not {c.__class__.__name__}"
179+
)
169180
if channel_types and c.type not in channel_types:
170-
raise ValueError(f"default_values must be a list of channels of type {channel_types}, "
171-
f"not {c.__class__.__name__}")
172-
_default_values.append(SelectDefaultValue(
173-
id=c.id,
174-
type=SelectMenuDefaultValueType.Channel))
181+
raise ValueError(
182+
f"default_values must be a list of channels of type {channel_types}, "
183+
f"not {c.__class__.__name__}"
184+
)
185+
_default_values.append(
186+
SelectDefaultValue(id=c.id, type=SelectMenuDefaultValueType.Channel)
187+
)
175188
if default_values and select_type is ComponentType.mentionable_select:
176189
for m in default_values:
177190
if not isinstance(m, (User, Member, Role)):
178-
raise ValueError(f"default_values must be a list of User/Member/Role objects, "
179-
f"not {m.__class__.__name__}")
180-
_default_values.append(SelectDefaultValue(
181-
id=m.id,
182-
type=SelectMenuDefaultValueType.Role if isinstance(m, Role) else SelectMenuDefaultValueType.User))
191+
raise ValueError(
192+
f"default_values must be a list of User/Member/Role objects, "
193+
f"not {m.__class__.__name__}"
194+
)
195+
_default_values.append(
196+
SelectDefaultValue(
197+
id=m.id,
198+
type=(
199+
SelectMenuDefaultValueType.Role
200+
if isinstance(m, Role)
201+
else SelectMenuDefaultValueType.User
202+
),
203+
)
204+
)
183205
super().__init__()
184206
self._selected_values: list[str] = []
185207
self._interaction: Interaction | None = None
@@ -372,7 +394,9 @@ def default_values(self) -> list[SelectDefaultValue]:
372394
@default_values.setter
373395
def default_values(self, value: list[SelectDefaultValue]):
374396
if self._underlying.type is ComponentType.string_select:
375-
raise InvalidArgument("default_values can only be set on non string selects")
397+
raise InvalidArgument(
398+
"default_values can only be set on non string selects"
399+
)
376400
if not isinstance(value, list):
377401
raise TypeError("options must be a list of SelectDefaultValue")
378402
if not all(isinstance(obj, SelectDefaultValue) for obj in value):
@@ -381,70 +405,87 @@ def default_values(self, value: list[SelectDefaultValue]):
381405
self._underlying.default_values = value
382406

383407
def add_default_value(
384-
self,
385-
*,
386-
default_value: User | Member | Role | GuildChannel | Thread,
408+
self,
409+
*,
410+
default_value: User | Member | Role | GuildChannel | Thread,
387411
):
388412
"""Adds a default value to the select menu.
389413
390-
To append a pre-existing :class:`discord.SelectDefaultValue` use the
391-
:meth:`append_default_value` method instead.
392-
393-
Parameters
394-
----------
395-
default_value: Union[:class:`discord.User`, :class:`discord.Member`, :class:`discord.Role`,
396-
:class:`discord.abc.GuildChannel`, :class:`discord.Thread`]
397-
The to be added default value
398-
399-
400-
Raises
401-
------
402-
ValueError
403-
The number of options exceeds 25.
404-
"""
414+
To append a pre-existing :class:`discord.SelectDefaultValue` use the
415+
:meth:`append_default_value` method instead.
416+
417+
Parameters
418+
----------
419+
default_value: Union[:class:`discord.User`, :class:`discord.Member`, :class:`discord.Role`,
420+
:class:`discord.abc.GuildChannel`, :class:`discord.Thread`]
421+
The to be added default value
422+
423+
Raises
424+
------
425+
ValueError
426+
The number of options exceeds 25.
427+
"""
405428
if self._underlying.type is ComponentType.string_select:
406429
raise Exception("default values can only be set on non string selects")
407430
default_value_type = None
408-
if self.type is ComponentType.channel_select and not isinstance(default_value, (GuildChannel, Thread)):
409-
raise InvalidArgument("default values have to be of type GuildChannel or Thread")
431+
if self.type is ComponentType.channel_select and not isinstance(
432+
default_value, (GuildChannel, Thread)
433+
):
434+
raise InvalidArgument(
435+
"default values have to be of type GuildChannel or Thread"
436+
)
410437
elif self.type is ComponentType.channel_select:
411438
default_value_type = SelectMenuDefaultValueType.Channel
412-
if self.type is ComponentType.user_select and not isinstance(default_value, (User, Member)):
439+
if self.type is ComponentType.user_select and not isinstance(
440+
default_value, (User, Member)
441+
):
413442
raise InvalidArgument("default values have to be of type User or Member")
414443
elif self.type is ComponentType.user_select:
415444
default_value_type = SelectMenuDefaultValueType.User
416-
if self.type is ComponentType.role_select and not isinstance(default_value, Role):
445+
if self.type is ComponentType.role_select and not isinstance(
446+
default_value, Role
447+
):
417448
raise InvalidArgument("default values have to be of type Role")
418449
elif self.type is ComponentType.role_select:
419450
default_value_type = SelectMenuDefaultValueType.Role
420-
if self.type is ComponentType.mentionable_select and not isinstance(default_value, (User, Member, Role)):
421-
raise InvalidArgument("default values have to be of type User, Member or Role")
422-
elif self.type is ComponentType.mentionable_select and isinstance(default_value, (User, Member)):
451+
if self.type is ComponentType.mentionable_select and not isinstance(
452+
default_value, (User, Member, Role)
453+
):
454+
raise InvalidArgument(
455+
"default values have to be of type User, Member or Role"
456+
)
457+
elif self.type is ComponentType.mentionable_select and isinstance(
458+
default_value, (User, Member)
459+
):
423460
default_value_type = SelectMenuDefaultValueType.User
424-
elif self.type is ComponentType.mentionable_select and isinstance(default_value, Role):
461+
elif self.type is ComponentType.mentionable_select and isinstance(
462+
default_value, Role
463+
):
425464
default_value_type = SelectMenuDefaultValueType.Role
426465
if default_value_type is None:
427-
raise InvalidArgument("default values have to be of type User, Member, Role or GuildChannel")
466+
raise InvalidArgument(
467+
"default values have to be of type User, Member, Role or GuildChannel"
468+
)
428469
default_value = SelectDefaultValue(
429-
id=default_value.id,
430-
type=default_value_type,
470+
id=default_value.id,
471+
type=default_value_type,
431472
)
432473

433474
self.append_default_value(default_value)
434475

435476
def append_default_value(self, default_value: SelectDefaultValue):
436477
"""Appends a default value to the select menu.
437478
438-
Parameters
439-
----------
440-
default_value: :class:`discord.SelectDefaultValue`
441-
The default value to append to the select menu.
479+
Parameters
480+
----------
481+
default_value: :class:`discord.SelectDefaultValue`
482+
The default value to append to the select menu.
442483
443-
Raises
444-
------
445-
ValueError
446-
The number of options exceeds 25.
447-
"""
484+
Raises
485+
------
486+
ValueError
487+
The number of options exceeds 25.
488+
"""
448489
if self._underlying.type is ComponentType.string_select:
449490
raise Exception("default values can only be set on string selects")
450491

@@ -647,7 +688,9 @@ def select(
647688
raise TypeError("options may only be specified for string selects")
648689

649690
if default_values is not MISSING and select_type is ComponentType.string_select:
650-
raise TypeError("default_values may only be specified for user/role/channel/mentionable selects")
691+
raise TypeError(
692+
"default_values may only be specified for user/role/channel/mentionable selects"
693+
)
651694

652695
if channel_types is not MISSING and select_type is not ComponentType.channel_select:
653696
raise TypeError("channel_types may only be specified for channel selects")
@@ -754,7 +797,7 @@ def role_select(
754797
max_values=max_values,
755798
disabled=disabled,
756799
row=row,
757-
default_values=default_values
800+
default_values=default_values,
758801
)
759802

760803

0 commit comments

Comments
 (0)